9

この質問が頭に浮かんだのは、Java がプリミティブ (オブジェクトではない) を使用しているため、純粋なオブジェクト指向言語ではないことをどこかで読んだことがあるからです。私はそれに同意できます。primitives/wrappers今私の問題は、同じタイプのオブジェクトが既にあるのになぜ使用しているのかということです。

を例にとると、オブジェクトの振る舞い以外Integerと同じ値制限があります。なぜこれらの条件下でintまだJavaを使用するのですか?primitives

私の意見では、Java が Object タイプのAutoboxing と Unboxingのみを使用する場合は必要ありません。ちなみに String のプリミティブもありません。

4

1 に答える 1

10

1 つの理由は、メモリ使用量によるものです。intなどのプリミティブは、float少なくとも 8 バイトのオブジェクトと比較して、少ないメモリ割り当て (4 バイトだと思います) を必要とします。次のリファレンスを参照してください。

さらに、多くの算術 (数値) は、同等のオブジェクトではなくプリミティブを使用して完了します。これが、Java 言語でプリミティブが非常に重要であるもう 1 つの理由です。

于 2013-08-20T11:20:52.107 に答える