入力引数としてOptionalInt

user1244932:

私は読んでのJava 8のオプションの引数で使用すべきではない理由しかし、何についてOptional(Int|Long|Double)、入力引数としてそれらの使用に対する任意の引数ですか?

私が正しく理解したように、彼らは、しかし、ヌルと(反対メイン引数引数が空でないことはできないOptional<X>入力パラメータでの)が、他のサンゴ礁があるかもしれ?私が使用する必要がありますOptionalIntIntegernullしていないnull値はありますか?

Ousmane D .:

メソッドのパラメータとしてOptionalsを使用していないのこのアイデアは、固有ではないだけでOptional<T>なく、Optionalsのすべてのタイプ。

あなたが言う時:

私が正しく理解したように、彼らは空ではないことはできませんが、ヌルで(反対メイン引数引数Optional<X>入力パラメータで)

まず第一にLETのは、ちょうどその時、用語が正しい取得Optional<X>含まnull以外の我々はそれがだと言うの参照現在私たちが言う他にOptional<X>あるまたは不在をあなたが言うべきではありませんOptional<X>が含まヌルを

すべてのOptionalsは関係なく、それが型のオブジェクトのコンテナのかどうかを空にすることができT、またはプリミティブ型。

あなたが覗いた場合、たとえば、OptionalIntのクラスのドキュメント、それは言います:

またはint値を含んでも含まなくてもよいコンテナオブジェクト値が存在する場合、isPresent()がtrueを返しますとgetAsInt()値を返します。

重点鉱山。

オプションは、その後、int型の値が含まれていないときには、空のオプションです。

私は、NULL値はnullではないOptionalIntまたは整数を使用する必要がありますか?

使用に関してOptionalIntInteger本当にあなたのユースケースに依存します。

  • すべてのオプションの両方のタイプのコンテナのようなTおよびプリミティブ型、彼らがしている記述し、存在する場合値を抽出したり、不在であれば、他の何かをする操作の異なるタイプを適用することを可能に。
  • 任意のIntegerフィールドには値を割り当てることができ、ヌルを
  • 一つは、返すことができnullた任意の方法でInteger戻り値の型として。
  • OptionalIntフィールド(物議を)assingedすべきではありませんnullそれが最初の場所でオプションを使用しての全体の目的に反して。
  • 一つは返すことはありませんnull戻り値の型を有するいずれかの方法でOptionalInt、それは最初の場所でオプションを使用しての全体の目的に反して再び。

等..

さらに、一部の人々が実際に彼らが欠けているという理由だけで、プリミティブOptionalsの使用を思いとどまらmapflatMap、およびfilter方法を。

基本的に、常に最良のニーズに適合することをAPIを選ぶ代わりに、Optionalsまたは副ベラを使用するには何のルールはありません。

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=221864&siteId=1