ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

在 Android Kotlin 开发中,Kotlin 无法识别 Lombok 生成的 getter

在 Android Kotlin 开发中,Kotlin 无法识别 Lombok 生成的 getter
@Data@AllArgsConstructor@NoArgsConstructorpublicclassLayerRecord{privateIntegerid;privateStringname;...}
vallayerName=layerRecord.name.orEmpty();
  • 在 Android Kotlin 开发中,上述代码出现如下错误信息
Cannot access 'name': it is private in 'LayerRecord'
问题原因
  1. Record 类中的 name 字段是 private 的

  2. 虽然用了@Data注解,但 Kotlin 无法识别 Lombok 生成的 getter

处理策略
  • 显式添加 getter,确保 Kotlin 能识别
@Data@AllArgsConstructor@NoArgsConstructorpublicclassLayerRecord{privateIntegerid;privateStringname;...publicStringgetName(){returnname;}}
vallayerName=layerRecord.getName().orEmpty();
返回列表