なぜチャー[]のみ配列はArrays.streamによってサポートされていませんか()?

ghostrider:

ストリームにプリミティブ配列を変換する方法を経由しながら、私はそれが見つかったchar[]他のプリミティブ配列タイプがサポートされている間、サポートされていません。ストリームでそれらを除外するために、任意の特定の理由は?

富:

エランが言ったように、それが欠けているだけではないのです。

AはBooleanStream、役に立たないであろうByteStream(それが存在する場合)として扱うことができInputStream、または変換IntStream(CANなどshort)、およびfloatとして扱うことができますDoubleStream

char(リンク参照)とにかく、すべての文字を表現することはできません、それは次のようになりビットレガシーストリームの。ほとんどの人はとにかくコードポイントに対処する必要はありませんが、それは奇妙に思えることができます。私はあなたが使う意味String.charAt()「これはすべてのケースで、実際に仕事をしません」考えず。

いくつかのものが出て残っていたので、彼らは重要なこととみなされていなかったので。中JB Nizetで言っリンク質問

設計者は、明示的に他の種類(文字、ショート、フロート)は、任意の有意な性能ペナルティなしに大きい当量(INT、二重)で表すことができるので、3種類のプリミティブストリームを制限することにより、クラスおよびメソッドの爆発を回避することを選択しました。

その理由は、BooleanStreamあなたが唯一の2つの値及びその運用多くが制限さを持っているので役に立たないだろう、です。そこ行うには数学的な操作はませんし、どのくらいの頻度はとにかくブール値の多くで作業していますか?

おすすめ

転載: http://10.200.1.11:23101/article/api/json?id=6237&siteId=1