Ric*_*ard 12 java intellij-plugin lombok
@Data
public abstract class B {
private final String str;
}
@Data
public class A extends B{
private final String s;
}
Run Code Online (Sandbox Code Playgroud)
A类数据在intellij中报错,但是代码可以通过命令行编译成功,不知道怎么办
一个问题是它@Data适用于可变数据,并且您的类中没有任何可变数据。所以使用@Data是完全错误的......并且它是否编译并不重要。
如果您想要可变数据,请删除该final字段。对于不可变数据,创建所有字段final并使用@Value. 有时,需要部分可变的数据,但我尽量避免它,因为它令人困惑(有些字段可以设置,有些不能),并且它们提供了两者的缺点。
另一个问题是 Lombok 无法访问类层次结构。有了Bfinal 字段,您需要在构造函数中对其进行初始化,这意味着它A的构造函数必须调用非默认构造函数。这对 Lombok 来说是不可能的。还有@Superbuilder在龙目岛,大约是龙目岛的与类层次结构以及处理的唯一功能。
这不会编译事件。在 中Intellij,当您不确定lombok代码有什么问题时,您可以打开您不确定的类,继续Refactor-> Delombok-> All lombok annotations,您将看到 lombok 实际为您创建的内容。
| 归档时间: |
|
| 查看次数: |
14860 次 |
| 最近记录: |