0
点赞
收藏
分享

微信扫一扫

基础相关笔记

祈澈菇凉 2022-02-15 阅读 48
java

string.intern()

intern() 返回字符串规范化格式(字符串常量池中的引用)

String a = new String("ab");
String b = new String("ab");
String c = "ab";
String d = "a" + "b";
String e = "b";
String f = "a" + e;

System.out.println(b.intern() == a);  
false   b.insern()是字符串常量池中的引用地址 ,a 是对象引用地址
System.out.println(b.intern() == c);
true   都是字符串常量池中的引用地址
System.out.println(b.intern() == d);
true   两个字符串相加 会去字符串常量池查找有无此对象,有直接引用,没有就放入后引用
System.out.println(b.intern() == f);
false  字符串相加的时候,都是静态字符串的结果会添加到字符串池,如果其中含有变量(如f中的e)则不会进入字符串池中  所以地址不同 返回false
System.out.println(b.intern() == a.intern());
true   都为字符串常量池中对象 引用地址相同
举报

相关推荐

0 条评论