[Java] Primitive type vs Reference type
Primitive type vs Reference type
Primitive type
Javaでは、タイプを2つのクラスに分けることができます.このうち、8種類(int、char、boolean、byte、long、short、float、double)が属する元のタイプのみが直接値を格納します.
nullはstack領域に格納され、参照型ではないため追加できません.nullを入れたいならwrapper classにします
Reference type
Javaで上記の8つの基本タイプを除くすべてのタイプ(カスタムクラス、配列、interfeace...)このreference typeに属します.実際の値はheap領域に格納され、そのアドレスはスタック領域の変数に格納されます.すなわち,変数自体は値ではなくアドレスを格納する.
したがって、==演算(変数の値を比較する)を行う場合は、同じ値がtrueではないためequals()を使用する必要があります.
例
int num = 3; // primitive type
List<Integer> arr = new ArrayList<>(Arrays.asList(2,3,4)); // reference type
Reference
この問題について([Java] Primitive type vs Reference type), 我々は、より多くの情報をここで見つけました https://velog.io/@rmswjdtn/Java-Primitive-type-vs-Reference-typeテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol