Java 数组与字符串操作全解析
1. 字符串比较与 intern() 方法
在 Java 中,字符串比较和 intern() 方法的使用需要特别注意。例如以下代码:
System.out.println(first == second.intern());
System.out.println(first == third);
System.out.println(first == third.intern());
如果 first 是编译时常量, second 也是编译时常量表达式,那么 first 和 second 会共享字符串池中的引用,所以 first == second.intern() 会输出 true 。而如果 third 是通过 String 构造函数创建的,它就不是编译时常量,不指向字符串池中的引用, first == third 会输出 false 。但调用 third.intern() 时,Java 会在字符串池中查找,若发现 first 指向相同的字符串, first == third.intern() 会输出 true 。
超级会员免费看
订阅专栏 解锁全文

1696

被折叠的 条评论
为什么被折叠?



