【发布时间】:2016-07-17 18:03:02
【问题描述】:
为什么LocalDate、LocalTime、Stream等对象使用工厂方法of()而不是构造函数?
我找到了为什么应该使用工厂方法而不是 new here 的解释。这个答案给出了许多原因,但与 Java 日期/时间 API 相关的唯一原因如下:
与构造函数不同,它们不需要每次都创建一个新对象 它们被调用的时间
由于LocalDate 和LocalTime 是不可变的,因此使用工厂并重用现有对象而不是每次都创建新对象可能更有意义。
这就是像LocalDate 和LocalTime 这样的对象是用工厂方法(即LocalDate.of())创建的原因吗?还有其他原因吗?
另外,Stream 对象是可变的。为什么使用工厂方法(Stream.of())来创建Stream?
【问题讨论】:
-
this related question on Programmers 的答案可能也很有趣。
标签: java java-8 factory factory-method