[java] ロングvs整数、ロングvs int、使用するもの、そしていつ?



Answers

プリミティブ型ではできないことがいくつかあります:

  • null値を持つ
  • それらを同期させる
  • ジェネリッククラスの型パラメータとして使用し、それに関連しています:
  • Objectと連携するAPIに渡します。

それらのいずれかが必要な場合を除いて、プリミティブ型はメモリが少なくて済むので、プリミティブ型を優先する必要があります。

Question

時にはAPIがlongまたはLongまたはintまたはIntegerを使用していることがありますが、その決定がどのように行われているのか把握できません。

何を選ぶべきですか?







intは32ビット整数です。 a longは64ビットの整数です。 どの数字を使用するかは、あなたが扱う数字の大きさによって決まります。

intlongはプリミティブ型ですが、 IntegerLongはオブジェクトです。 プリミティブ型はより効率的ですが、オブジェクトを使用する必要があることもあります。 たとえば、Javaのコレクションクラスはオブジェクトのみで動作することができます。したがって、整数のリストが必要な場合は、 List<Integer>にする必要があります( List intを直接使用することはできません)。




Links