String是不是Java的基本类型。它是由char数组组成。
我们来解析一下这个类。
共分为5种情况
1
//One在常量池,str1和str2都指向常量池的One
String str1 = "One";
String str2 = "One";
System.out.println(str1==str2);
结果为true,因为
2
String str3 = new String("One");
String str4 = new String("One");
System.out.println(str3==str4);
结果为false,因为
3
String str5 = new String("One");
String str6 = "One";
System.out.println(str5==str6);
结果为false,因为
4
//在编译的时候自动拼接放置到常量池
String str7 = new String("One");
String str8 ="O"+"ne";
System.out.println(str7==str8);
结果为false,原因和3相同
5
String str9 =new String("One");
String str10 = "O"+new String("ne");
System.out.println(str9==str10);
结果为false,因为
6
char [] array = {'O','n','e'};
String str11 = new String(array);
String str12 = "One";
结果为false,因为