Android修行手册之Kotlin-【数据类】、【泛型】篇

简介: 众所周知,人生是一个漫长的流程,不断克服困难,不断反思前进的过程。在这个过程中会产生很多对于人生的质疑和思考,于是我决定将自己的思考,经验和故事全部分享出来,以此寻找共鸣!!!

👉关于作者

众所周知,人生是一个漫长的流程,不断克服困难,不断反思前进的过程。在这个过程中会产生很多对于人生的质疑和思考,于是我决定将自己的思考,经验和故事全部分享出来,以此寻找共鸣 !!!

专注于Android/Unity和各种游戏开发技巧,以及各种资源分享(网站、工具、素材、源码、游戏等)

有什么需要欢迎私我,交流群让学习不再孤单

👉前提

当前环境

2021年10月8日最新下载2020.3.1 Patch 2 版本

👉实践过程

😜数据类

数据类就是Java中的实体类

在Kotlin中数据类使用关键词【data】修饰,在类class前面声明,只包含数据,其实和Java我们根据Json生成的实体类同样的玩意,内置了几个函数方法

equals() 比较函数

toString() 格式如 "User(name=John, age=42)"

componentN() functions 对应于属性,按声明顺序排列

copy() 赋值函数

使用Java开发的时候,我们会利用GsonFormat插件来将接口的Json数据快速生成实体。

现在Kotlin也有改类似插件,叫做【Json To Kotlin Class】。

去【File-Setting-Plugins】中搜索安装即可。

使用:利用快捷键【Alt+K】(如果和其他快捷键没冲突的话)或者打开【Generate..】功能框后里面有【Kotlin data classes from JSON】

善于使用插件,可以快速帮我们提升工作效率,在工作上提升不可替代性,进而实现涨薪。

在这提一下密封类,暂时没想到较为常用的应用环境,菜鸟教程原话:

密封类用来表示受限的类继承结构:当一个值为有限几种的类型, 而不能有任何其他类型时。在某种意义上,他们是枚举类的扩展:枚举类型的值集合 也是受限的,但每个枚举常量只存在一个实例,而密封类 的一个子类可以有可包含状态的多个实例。

声明一个密封类,使用 sealed 修饰类,密封类可以有子类,但是所有的子类都必须要内嵌在密封类中。

sealed 不能修饰 interface ,abstract class(会报 warning,但是不会出现编译错误)

😜泛型

泛型也是我们开发过程中常用的功能之一,和Java一样,Kotlin也是使用T表示泛型,让代码更加健壮,解决了类型转换的未知步骤。

class Person<T>(t: T) {
    var value = t
}
复制代码

使用示例如下:

//使用范例
var age = Person<Int>(20)
var name = Person<String>("Runoob")
Log.e("TAG,", "输出:$age")
Log.e("TAG,", "输出:$name")
复制代码

在泛型约束的使用上和Java也没明显上的差异

fun <T : Comparable<T>> myHeight(list: List<T>) {
    // ……
}
myHeight(listOf(1,2,3,4))
复制代码

上面示例正确,因为Int 是 Comparable 的子类型

👉其他

📢作者:小空和小芝中的小空

📢转载说明-务必注明来源:

https://zhima.blog.csdn.net/

https://www.zhihu.com/people/zhimalier

https://juejin.cn/user/4265760844943479

📢这位道友请留步☁️,我观你气度不凡,谈吐间隐隐有王者霸气💚,日后定有一番大作为📝!!!旁边有点赞👍收藏🌟今日传你,点了吧,未来你成功☀️,我分文不取,若不成功⚡️,也好回来找我。

相关文章
|
21天前
|
存储 前端开发 Java
Kotlin教程笔记(18) - 数据类
Kotlin教程笔记(18) - 数据类
|
1月前
|
存储 前端开发 Java
Kotlin - 数据类
Kotlin - 数据类
|
1月前
|
存储 前端开发 Java
Kotlin教程笔记(18) - 数据类
Kotlin教程笔记(18) - 数据类
|
2月前
|
存储 前端开发 Java
Kotlin教程笔记(18) - 数据类
Kotlin教程笔记(18) - 数据类
42 2
|
2月前
|
存储 前端开发 测试技术
Android kotlin MVVM 架构简单示例入门
Android kotlin MVVM 架构简单示例入门
38 1
|
2月前
|
存储 前端开发 Java
Kotlin教程笔记(18) - 数据类
Kotlin教程笔记(18) - 数据类
46 4
|
1月前
|
存储 前端开发 Java
Kotlin - 数据类
Kotlin - 数据类
37 0
|
2月前
|
调度 Android开发 开发者
构建高效Android应用:探究Kotlin多线程优化策略
【10月更文挑战第11天】本文探讨了如何在Kotlin中实现高效的多线程方案,特别是在Android应用开发中。通过介绍Kotlin协程的基础知识、异步数据加载的实际案例,以及合理使用不同调度器的方法,帮助开发者提升应用性能和用户体验。
64 4
|
1月前
|
存储 前端开发 Java
Kotlin教程笔记(18) - 数据类
Kotlin教程笔记(18) - 数据类
26 0
|
1月前
|
前端开发 Java 测试技术
android MVP契约类架构模式与MVVM架构模式,哪种架构模式更好?
android MVP契约类架构模式与MVVM架构模式,哪种架构模式更好?
54 0