Stringオブジェクトのインスタンス化の2つのメソッドの違い
- 直接割り当て:インスタンス化されたオブジェクトは1つだけ生成され、ライブラリはオブジェクトプールに自動的に保存され、文字列インスタンスの再利用を実現します。
- 構築メソッド:2つのインスタンス化されたオブジェクトが生成され、自動的にプールされず、オブジェクトの再利用は実現できませんが、intern()メソッドを使用して手動でプールに入力して処理することができます
- プールの概念:文字列オブジェクト(定数)プール、オブジェクトプールの主な目的は、データ共有処理を実現することです
- インターン方式の使用:
例:
package day04; public class StringIntern { public static void main(String[] args) { System.out.print(" 未使用intern()方法手工入池前-->"); String strA = "SCP"; String strB = new String ("SCP"); System.out.println(strA == strB); System.out.print(" 使用intern()方法手工入池后-->"); String strC = "SCP"; String strD = new String ("SCP").intern(); System.out.println(strC == strD); } }
输出结果: 未使用intern()方法手工入池前-->false 使用intern()方法手工入池后-->true