黑马程序员技术交流社区
标题:
能看懂么?
[打印本页]
作者:
autumnforest
时间:
2015-11-12 00:53
标题:
能看懂么?
public class Exec8 {
public static void main(String[] args) {
String s1 = "a";
String s2 = "b";
String s3 = "ab";
String s4 = "ab";
System.out.println(s3 == s4); //结果为true,享元机制
String s5 = "a" + "b";
System.out.println(s3 == s5); //结果为true,常量优化机制
String s6 = s1 + s2;
System.out.println(s3 == s6); //结果为false,两个变量相加
String s7 = new String("ab");
System.out.println(s3 == s7); //结果为false,s7引用的实体在堆内存中
final String s8 = "a";
final String s9 = "b";
String s10 = s8 + s9;
System.out.println(s3 == s10); //结果为true,原理同s3 == s5,被final修饰的变量也是常量,同样享受常量优化机制
}
}
作者:
xiao15779706
时间:
2015-11-12 08:59
赞一个,感觉很厉害的样子。今天才刚开始学到String
作者:
洛荣神川
时间:
2015-11-12 09:34
学习了 ,使用字符串应该注意的细节
作者:
z13561291
时间:
2015-11-12 12:33
不用== 用equals就有很多不同结果了吧?
作者:
jia7604112
时间:
2015-11-12 23:11
感觉好复杂的样子
作者:
零尘
时间:
2015-11-12 23:14
==和 equals,是 java基础里面挺绕的东西,建议了解下底层知识
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2