String 底层解析
String 底层解析
1,String底层是final char[]实现的
String s1 = “abc”;
s1 = “abc” + “qwe”;
在方法区新创建一个"abcqwe"
2,String重写了Object的equals()方法,对象调用比较的是 实体内容 是否相同 (Object中的equals方法与==相同比较的是对象的地址值是否相同)
3,常量与常量的拼接结果在常量池。且常量池中不会存在相同内容的常量。
String s = “javaEEhadoop”,s1 = “javaEE” + “hadoop”;
s == s1; //true
4,只要其中有一个是变量,结果就在堆中。(相当于new一个对象)
String s = “javaEE”,s1 = s + “hadoop”;
s == s1; //false
5,如果拼接的结果调用intern()方法,返回值就在常量池中。
String s = “javaEE”,s1 = s + “hadoop”;
s1.intern();
s == s1; //true

本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
