Lombok生成没有@Nonnull批注的构造函数

时间:2019-05-30 14:20:58

标签: constructor lombok non-nullable

我正在使用Lombok生成我的POJO。我有一堆用javax.annotation.Nonnull注释的字段,我希望此注释会自动传输到构造函数。
但是,这种情况并没有发生,Lombok似乎完全省略了该注释,并且对此字段使用@Nullable值时不会产生任何警告。

由IDE生成构造函数时-一切正常。这也适用于吸气剂/设置剂。
我尝试将javax.annotation.Nonnull添加到lombok.copyableAnnotations并添加javax.annotation.ParametersAreNonnullByDefault注释,但无济于事。

@Data
class TestObject {
  @Nonnull private String nonnull;
}

TestObject testObject = new TestObject(null); <-- no warning
testObject.setNonnull(null); <-- warning generated

我希望在构造方法上收到与在setter上相同的警告。是Lombok中的错误,是无法实现的错误,还是我只是错过了某些错误?

1 个答案:

答案 0 :(得分:0)

这是因为Lombok只“扫描” library(plm) library(dplyr) data(mtcars) d_grp <- mtcars %>% group_by(cyl) pd <- pdata.frame(d_grp, index = c("cyl")) plm(mpg ~ hp, data = pd) # Generates the error: # Error: Can't join on '.rows' x '.rows' because of incompatible types (list / list) # To fix: d_grp2 <- d_grp %>% ungroup() pd2 <- pdata.frame(d_grp2, index = c("cyl")) plm(mpg ~ hp, data = pd) # No error 。参见以下示例:

@lombok.NonNull