@Data
@AllArgsConstructor
@NoArgsConstructor
public class LayerRecord {
    private Integer id;
    private String name;
    
    ...
}
val layerName = 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
@NoArgsConstructor
public class LayerRecord {
    private Integer id;
    private String name;
    
    ...

    public String getName() {
        return name;
    }
}
val layerName = layerRecord.getName().orEmpty();
Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐