Я запустил FindBugs в своем проекте и получил следующее предупреждение:
new foo.pkg.Key(Client, Product, Date, String) may expose internal representation by storing an externally mutable object into Key.expireDate MALICIOUS_CODE EI_EXPOSE_REP2 60 Medium
Key
— это Entity с Date expireDate
, с соответствующими геттерами и сеттерами, и использует их в конструкторе.
Итак, что случилось? Почему собственно неправильно это делать? Это потому, что Date является изменяемым типом?
На самом деле, я просто возвращаю (дата) dataNascimento.clone()
и использую ту же стратегию в установщике. Это лучший способ сделать это?