2016-08-15 4 views
1

方法なぜライブラリにStream.of(T t)とStream.of(T ... values)の両方が含まれていますか?

Stream.of(T... values) 

は、単一要素のケースが含まれているので、なぜ方法であって

Stream.of(T t) 

もAPIに含まれますか?その目的は何ですか?それはいつ呼び出されますか?それはvarargsのバージョンとは何か変わっていますか?

+0

http://stackoverflow.com/questions/31924249/why-does-enumset-have-many-overloaded-of-methods – Tunaki

答えて

7

目的は何ですか?

一般的な使用例の効率が少し向上しました。

いつ呼び出されますか?

1つの引数がある場合。

varargsのバージョンとは何か異なりますか?

アウトは同じですが、ゴミが少なくなります。

+0

と同じ理由これは 'Stream.empty()'についても説明しますが、暗黙的に過負荷として機能しません。 – shmosel

+3

@shmoselそして、 'empty()'は意味のない引数のように見えるよりもはるかに明確です。 – chrylis

+0

@chrylis Guavaはそうは思わない。 – shmosel

関連する問題