String类型的toString()返回的是什么

来源:互联网 发布:招商银行java 编辑:程序博客网 时间:2024/06/06 00:29

观察下面代码:

String s1 = " hello";String s2 = s1.substring(2,3);String s3 = s1.toString();String s4 = new StringBuffer(s1).toString();String s5 = " hello";System.out.println(s1 == s3);System.out.println(s1 == s4);System.out.println(s2 == s4);System.out.println(s1 == s2);System.out.println(s1 == s5);

输出结果:

结果 解释 true string.toString()返回的是字符串本身,并没有创建新对象 false 重新创建了一个新对象 false s2是e false 同上 true JVM在编译期优化了,相同的字符串常量都放在了常量池中

观察下String的toString()

public String toString() {        return this;    }

做完题想想也就明白了,可能是时间太紧,就迷糊了

0 0