String s1="hello";
String s2="world";
String s3="helloworld";
System.out.println(s3.equals((s1+s2)));
存在几个helloworld?
如果此时将helloworld赋值给变量s5 则赋值的是哪一个helloworld
String s1="hello";
String s2="world";
String s3="helloworld";
System.out.println(s3.equals((s1+s2)));
存在几个helloworld?
如果此时将helloworld赋值给变量s5 则赋值的是哪一个helloworld
字符串常量会存在常量池里,每定义一个字符串,都会先查看常量池,如果有,就直接使用已有的,没有才定义,所以从开始到结尾只有一个helloworld。
为什么4楼的结果是false,因为比较的是c和d的地址。
如果是System.out.println("helloworld"=="hello"+"world");则是true。