1.基本タイプは値でのみ渡すことができますが、各基本タイプに対応するカプセル化クラスは参照によって渡されます。
2。パフォーマンスの観点から、Javaの基本タイプがスタックに作成され、すべてのオブジェクトタイプがヒープに作成されます(オブジェクトの参照はスタックに作成されます)。例えば
整数i = new Integer(10);ここで、新しい整数()がヒープに作成され、その参照整数Iはスタック上にあります。カプセル化クラスの出現は、valueof()、toString()などの基本的なタイプでは利用できない方法をより便利に使用することです。また、値の代わりにINTオブジェクトへの参照を渡す場合は、カプセル化クラスのみを使用できます。
スタックにメモリを割り当てる呼び出し効率は、ヒープにメモリを割り当てる効率とは大きく異なります。スタックにメモリを割り当てることは効率的ですが、スタックにメモリを割り当てることにメモリリークがあります。 (これは平凡なプログラマーが解決できない問題です...)Javaは非常に天才的な方法を使用して、ヒープにメモリを割り当てる効率を向上させます。それにもかかわらず、Javaはまだ遅いです。彼はC ++と同じくらい速く到達することはほとんどありませんが、いつか仮想機会がマシンコードと同じくらい速くなると約束しています。
JDK5.0は自動的にカプセル化できます。つまり、基本データは自動的にカプセル化クラスにカプセル化できます。基本的なデータ型の利点は、それらが高速であることです(オブジェクトの構築とリサイクルを伴わないでください)。カプセル化クラスの目的は、主にデータ変換をよりよく処理することです。多くの方法があり、使用するのに便利です。
もちろん、カプセル化タイプのパスはリファレンスパスです。たとえば
整数a = new Integer(1);
整数タイプの参照Aがメモリの一部を指し、このメモリのデータは1であることを示します。そして、Aに保存されているのは、このメモリの参照(アドレス)です。 Aを別のメソッドまたはオブジェクトに渡すと、Aの参照が渡されます。
タイプ間の変換:
文字列b = "123456";
int c = integer.parseint(b);
文字列123456を整数数に変換することを示します。ここでは、Parseintは静的な方法であり、直接使用できます
もう1つの点は、場合によっては、オブジェクト、つまりオブジェクトのみを追加できるコレクションリストなど、カプセル化クラスを使用する必要があることです。その後、数値を直接保存することは絶対に不可能です。数字をカプセル化されたオブジェクトにカプセル化し、それらをリストに保存する必要があります。
リストリスト= new arrayList();
list.add(new Integer(1));
list.add(new Integer(2));
list.add(new Integer(3));
list.add(new Integer(4));
JDK5.0の後、自動的にパッケージ化できるため、
リストリスト= new arrayList();
list.add(1);
list.add(2);
list.add(3);
list.add(4);
上記の記事は、Javaの基本タイプとパッケージングタイプの違いとアプリケーションを包括的に理解しています。これは私があなたと共有するすべてのコンテンツです。参照を提供できることを願っています。wulin.comをもっとサポートできることを願っています。