Kotlin学习(七)—— 数据类空构造的实现NoArg

我们之前有讲数据类,也就是data,他的角色充当我们的JavaBean,比如我们的列表就经常会使用到,但是data修饰的class,有一个问题就是,无法实现一个空的构造参数,我们看下他的提示:

可以看到,如果我们不传递参数,则会提示我们必须要传递一个参数,也就是这样的实现

Kotlin学习(七)—— 数据类空构造的实现NoArg_第1张图片

但是我们有时候有一些需求是不需要构造函数中有参数的,这个时候我们需要去处理了,实际上kt是知道有这么一个问题所在的,所以它给我们提供了一个插件,叫做noarg,我们来集成一下
Kotlin学习(七)—— 数据类空构造的实现NoArg_第2张图片

可以看到这里,我引入了两个插件后去应用了,并且扩展了两个annotation,内部填写的需要我们自己去实现

做完这步之后我们就可以对数据量进行注解了
Kotlin学习(七)—— 数据类空构造的实现NoArg_第3张图片

这个时候其实还是不能使用无参的构造函数的,因为我们写的是在编译器之前,我们要无参,需要反射等手段,但是通过查看字节码可以看到

Kotlin学习(七)—— 数据类空构造的实现NoArg_第4张图片

编译器是生成了一个无参的构造,当然在Android Studio中 可以不用这样实现,这里当做了解一下即可。

Github地址:
https://github.com/LiuGuiLinAndroid/Kotlin

如果有兴趣的话,可以加入我的Kotlin学习小组
Kotlin学习(七)—— 数据类空构造的实现NoArg_第5张图片

我的公众号,期待你的关注
Kotlin学习(七)—— 数据类空构造的实现NoArg_第6张图片

你可能感兴趣的:(Kotlin)