class A {
String s = "abc";
}
class B {
String s = "abc";
static public void main(String[]args ) {
A a = new A();
B b = new B();
System.out.println("a.s==b.s : " + (a.s==b.s));
}
}
出力:
a.s==b.s : true
リテラルがクラスファイルの「定数プール」部分に書き込まれる場合、2つのクラスの2つのリテラル(同じ内容)が同じインターン文字列を使用するのはなぜですか?コンパイラはそれらをどのようにリンクしますか?