6 ms·
Not quite. eg: public final Date date; date.setTime(1); That's not immutable.
by stevoski 12y ago
Not quite. eg:
public final Date date;
date.setTime(1);
That's not immutable.
- lmm 12y agoThe bean convention doesn't help you with that one though; if you have private Date date; public Date getDate() {return date;} then people can still do getDate().setTime(1);
- cdmckay 12y agoYeah, but with a getter you can make getDate return a copy of the Date object to enforce immutability.
- cakeface 12y agoYeah, but getDate().setTime(1); works the same way.
- djur 12y agoNot if getDate() returns a copy of the underlying member.
- mateuszf 12y agoYep, the thing is that Date is immutable. I think that this public final immutable rule is ok, but one has to ensure the fields themself are really not modifiable.
- nl 12y agoThe fact that java.util.Date is terrible is so many ways should go without saying.