Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Findbugs使用Lombok builder创建问题_Java_Builder_Findbugs_Lombok - Fatal编程技术网

Java Findbugs使用Lombok builder创建问题

Java Findbugs使用Lombok builder创建问题,java,builder,findbugs,lombok,Java,Builder,Findbugs,Lombok,在这个与龙目巨人有关的奇怪问题上,我的头脑和时间都崩溃了 假设我们有一节课 @builder class DateTest { @Column (name="insert_time") private Date curDate; } 现在在运行findbugs时,它会抱怨这个错误。原因是生成器不使用日期对象的副本 什么是正确的修复方法?关键是我不想仅仅为了解决问题而将日期数据类型更改为字符串,也不想抑制findbugs错误,因为它实际上不会解决我们的问题。有人找到了合适的修复方法吗?龙

在这个与龙目巨人有关的奇怪问题上,我的头脑和时间都崩溃了

假设我们有一节课

@builder
class DateTest {
 @Column (name="insert_time")
 private Date curDate;
  }
现在在运行findbugs时,它会抱怨这个错误。原因是生成器不使用日期对象的副本


什么是正确的修复方法?关键是我不想仅仅为了解决问题而将日期数据类型更改为字符串,也不想抑制findbugs错误,因为它实际上不会解决我们的问题。有人找到了合适的修复方法吗?

龙目无路可走。Lombok构建器不会创建副本,也不会创建构造函数或setter。正确的解决方法是不使用自动生成的生成器,至少不在类级别

您可以通过使用构造函数(而不是为您执行复制)来解决此问题:

@Builder
private DateTest createDateTest(Date curDate) {
    …
}

当然,你不能从自动生成的构造器中获利,但至少你得到了构造器。

使用Lombok无法实现这一点。Lombok构建器不会创建副本,也不会创建构造函数或setter。正确的解决方法是不使用自动生成的生成器,至少不在类级别

您可以通过使用构造函数(而不是为您执行复制)来解决此问题:

@Builder
private DateTest createDateTest(Date curDate) {
    …
}

当然,你不能从自动生成的构造函数中获利,但至少你得到了生成器。

一个假设的问题是客户端可以将一个可变日期传递到这个类中,然后再进行更改。一个假设的问题是客户端可以将一个可变日期传递到这个类中,然后再进行更改。