Java字符串驻留池解决了使用"=="来判断两个字符串对象是否相同.
在Java中用显示声明字符串方式声明的字符串就是将字符串内容保存在驻留字符串池中.
如: String strtem="abc"; 或者直接 "abc" 都是显示声明,他们都会被自动添加到驻留字符串池中.
驻留池的主要作用就是: 已驻留的字符串彼此之间可以通过"=="做比较操作,比equals()更廉价速度更快.
非显示声明的字符串如 : String strtem=new String("abc"); 可以通过String的intern()方法来将字符串添加到驻留池中,并返回对这个已驻留字符串的引用.
代码:
package com.wilmop;
public class Test {
public static void main(String[] args) {
String str = new String("测试");
str = str.intern();
if (str == "测试") {
System.out.println("same");
} else {
System.out.println("not same");
}
}
}
转自:http://startchangemyself.blog.163.com/blog/static/194064208201222831446581/