Streamインターフェイスには、メソッドof()
の2つのオーバーロードがあります。これらのうちの1つは可変アライメント方式であり、もう1つは単一の引数を取ります。なぜJavaストリームインターフェイスで()のvarargsメソッドをオーバーロードするのですか?
単一引数の方法は、1つの引数を可変式方法に渡すよりパフォーマンスの最適化ですか?もしそうなら、それはどのように性能を改善するのですか? empty()
メソッドについても同様の質問が出る可能性があります。これは、可変アライメントof()
を囲むシンタックスシュガーと思われます。
具体的にはSpliterator
がどのようにインスタンス化されているかの違いによって、実装がこれらのメソッド間で異なることがわかります。 Stream
APIにはどのような利点がありますか?
私は、メソッドシグネチャがシンタックスシュガーを示すように見えることを意味していました(ドキュメントはどちらか一方を指していません)。実装が異なることがわかります。 – jaco0646
単一要素または空の配列の回避は、マイクロ最適化のように思えます。これは平均的な開発者が気にするべきものなのでしょうか?私はすべての私のvarargsメソッドのこのタイプのパフォーマンス最適化を提供する必要がありますか? – jaco0646
@ jaco0646、構文砂糖には何が問題なのですか?特に、パフォーマンスの最適化の機会を提供している場合は特にそうです。 –