data class这个大坑
来源:4-10 数据类(allOpen,noArg插件,再见,javaBean)

qq_lee_3
2019-06-13
为啥要放在runtime阶段,这样在source阶段就得反射来用
想问下为啥不采用类似butterknife的那种方式,在Source期就直接生成
是会增加很多代码量吗
写回答
1回答
-
bennyhuo
2019-06-13
同学是说生成默认无参构造器吗?是在编译期完成的,直接插入在字节码里面的。跟butterknife是同一时期的,用编译器插件省了编译这个步骤而且方便后续支持kotlin跨平台,注解处理器是java的东西。
默认无参构造器不应该在代码当中直接调用,因为那样的话会破坏kotlin数据类的属性类型。想象一下默认无参构造器要如何初始化不可空的属性。
00
相似问题