String定数プール
4603 ワード
この时間は主にいくつかの基礎知識の学習を行って、ここに置いてメモをします.
上の問題の解釈については、
http://home.open-open.com/space-4097-do-blog-id-1336.html
public static void main(String[] args){
String a = "a1";
String b = "a"+ 1;
System.out.println(a==b);
}//true
public static void main(String[] args){
String a = "ab";
String bb = "b";
String b = "a"+ bb;
System.out.println(a==b);
}//false
public static void main(String[] args){
String a = "ab";
final String bb = "b";
String b = "a"+ bb;
System.out.println(a==b);
}//true
public static void main(String[] args){
String a = "ab";
final String bb = getBB();
String b = "a"+ bb;
System.out.println(a==b);
}
private static String getBB(){ return "b"; }//false
private static String a = "ab";
public static void main(String[] args){
String s1 = "a";
String s2 = "b";
String s = s1 + s2;
System.out.println(s == a);//false
System.out.println(s.intern() == a);//true
}
private static String a = new String("ab");
public static void main(String[] args){
String s1 = "a";
String s2 = "b";
String s = s1 + s2;
System.out.println(s == a);//false
System.out.println(s.intern() == a);//false
System.out.println(s.intern() == a.intern());//false
}
上の問題の解釈については、
http://home.open-open.com/space-4097-do-blog-id-1336.html