なぜLocalDate
,LocalTime
、Stream
などのオブジェクトは、コンストラクタの代わりにファクトリメソッドof()
を使用しますか?LocalDate、LocalTime、Streamオブジェクトがコンストラクタの代わりに()のファクトリメソッドを使用する理由
new
hereの代わりにファクトリメソッドを使用する理由を説明しました。この答えは、多くの理由を与えますが、Javaの日付/時刻のAPIに関連する唯一のものは以下の通りです:コンストラクタとは異なり
、彼らは新しいオブジェクトに彼らが呼び出されている各 時間を作成する必要はありませんが
LocalDate
とLocalTime
として
は不変である、それはおそらく、工場を使用して、代わりに新しいオブジェクトを毎回作成する既存のオブジェクトを再利用することは理にかなって。
LocalDate
とLocalTime
のようなオブジェクトがファクトリメソッド(つまり、LocalDate.of()
)で作成されるのはその理由ですか?他の理由はありますか?
また、Stream
オブジェクトも変更可能です。ファクトリメソッド(Stream.of()
)を使用してStream
を作成するのはなぜですか?
[この関連するプログラマーの質問](http://programmers.stackexchange.com/q/322936/187318)の回答も興味深いかもしれません。 – Hulk