对于我的 android 应用程序,我使用了 pareler 库和 lombok 库。
这些是我类(class)的注释:
@Table
@ToString
@Getter
@NoArgsConstructor
@Parcel
public class MyClass {
但是,在 gradle 构建期间,Parceler 提示没有默认的空构造函数。那么这是否意味着它无法识别
@NoArgsConstructor
注释并且这两者根本无法协同工作?因为例如SugarORM 没有问题。或者我只是错过了什么? 最佳答案
这涉及到 Lombok 如何向您的类添加代码。 Lombok 在 Java 注释处理器中使用 known trick 将代码添加到您的类中。在注释处理器回合期间,此添加的代码对 Parceler 不可见,并使 Parceler 不知道添加的无参数构造函数。
我建议手动添加 no-args 构造函数,用 @ParcelConstructor
注释现有的构造函数(我假设你有一个)或考虑使用具有 @Parcelable
注释的 Lombok fork Hrisey。
我们最近遇到了一个问题/疑问:https://github.com/johncarl81/parceler/issues/177
关于android - Parceler 和 Lombok 不合作?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37543057/