0

我们昨天在我们的应用程序中实现了spotbugs。我们的大多数错误都是[Malicious code vulnerability | EI_EXPOSE_REP2]...may expose internal representation by storing an externally mutable object into....

我们理解这一点,但我们不明白的是,这些错误仅在 Date 类上引发。我们有由其他类持有的自写类,并且这个错误没有被抛出。

为什么它处理 Date 与自写类不同?其他类也不是不可变的。我们主要将 lombok 用于 getter、setter 和 builder。

谢谢

4

1 回答 1

0

例子

class MyClass {

   private Date billDate;

   public void setBillDate(Date billDate) {
      this.billDate = billDate;
   }

}

解决方案是this.billDate = new Date(billDate.getTime());

class MyClass {

   private Date billDate;

   public void setBillDate(Date billDate) {
      this.billDate = new Date(billDate.getTime());
   }

}
于 2021-03-16T21:33:33.140 回答