java LocalDate 为不可变对象

来源:互联网 发布:斗鱼主播都用什么软件 编辑:程序博客网 时间:2024/05/16 13:56

为什么
LocalDate l = LocalDate.now();
l.plusDays(4);
System.out.println(l);
输出的永远是当前时间,而
LocalDate l = LocalDate.now();
l = l.plusDays(4);
System.out.println(l);
输出的是当前时间+4天的日期

答因为 LocalDate 被设计为不可变对象,这样的话每个修改当前 LocalDate 对象的方法(比如 plusDays),都会返回一个新的 LocalDate 对象,而原有的 LocalDate 对象不会发生改变。
原创粉丝点击