Java中String比较:==、equals()方法、intern()方法
涉及到String的操作==,equals,intern方法。
*文中出现的代码基于JDK1.8_144版本.
一、 ==比较
1.01 简单类型
{ byte, boolean, short, char, int, long, float, double}
直接比较值。
1.02 引用类型
比较地址值,如果指向同一个地址,返回true。否则返回false。
1.03 String的==比较
可以对比2.01 String中的重写的equals()方法:来看。
废话不多说,直接上代码。
/**
* .
* ==判断引用是否相等.
*/
public static void testEquals2() {
String a = "a";
final String c = "a";
String b = a + "b";
String d = c + "b";
String e = getA() + "b";
String compare = "ab";
System.out.println(b == compare);
System.out.println(d == compare);//编译优化,final能确定,所以指向同一个
System.out.println(e == compare);
}
/**
* 测试用.
* @return “a”
*/
private static String getA() {
return "a"</