字符串String的创建:
1
2
3
4
5
6
|
String s1= "abc" + "def" ; //1
String s2= new String(s1); //2
if (s1.equals(s2)) //3
System.out.println( ".equals succeeded" ); //4
if (s1==s2) //5
System.out.println( "==succeeded" ); //6
1行:s1是堆上的常量
2行:s2是创建在栈上的对象
3行:equals是比较s1和s2的内容,即堆上的值,相等故4行可以执行
5行:==是比较s1和s2栈上的对象地址,不相等,故6行不执行
|
equal equal
equal
1
2
3
4
5
6
|
String s1=
"abc"
+
"def"
;
//1
String s2=
new
String(s1);
//2
if
(s1.equals(s2))
//3
System.out.println(
".equals succeeded"
);
//4
if
(s1==s2)
//5
System.out.println(
"==succeeded"
);
//6
|