public class StringTest {
public static void main(String[] argc){
String a="abc";
String b="abc";
String c=new String("abc");
System.out.println(a==b);
System.out.println(a==c);
System.out.println(a.equals(c));
}
}
true
false
true
これは、同じアドレスの理由を、Bにとして、値の比、およびアドレス==比較に等しい文字列定数プールに関連する問題、あなたはので、aとb点のブログを空想することができますメモリ内の同一アドレスに、偶数==比較するように、truueであり、そしてC新しい文字列(「ABC」)を用いて、Javaはそのメモリ内に、ABCの値を保持するための新しいオブジェクトを作成しますABC割り当てられたメモリは、前のものとは異なる、及びCを参照新しいメモリアドレスに格納されている、すなわち、それは、Cのアドレスを指し、そして異なる、偽
文字列s = "ABCD"
sが、それはちょうどこのメモリ領域は、スペースを占有大きいメモリ内のメモリ領域、より多くのメンバ変数、オブジェクトへの参照ですよ、オブジェクトではありません。参考文献は、それがアドレスをポイントするオブジェクト内に格納されている4バイトのデータが、このアドレスは、オブジェクトをアクセスすることができます