在String中,==
用于比较两个字符串的引用内存地址是否相同,.equals()
用于比较两个字符串的内容是否相同。
代码示例:
package demo.test1;
public class test1 {
public static void main(String[]args) {
String a = "123";
String b = new StringBuffer(a).toString();
System.out.println("a,b的值:"+a+" "+b);//打印出a,b
System.out.println("a,b的长度:"+a.length()+" "+b.length());//打印出a,b的长度
System.out.println("a,b相等否:"+String.valueOf(a==b));//比较a,b是否相同
System.out.println("a,b哈希码:"+System.identityHashCode(a)+" "+System.identityHashCode(b));//打印出a,b的哈希码(java不能看变量的内存地址,只能通过比较变量的哈希码了)
System.out.println("使用.equals()比较:"+String.valueOf(a.equals(b)));
}
}
输出结果:
a,b的值:123 123
a,b的长度:3 3
a,b相等否:false
a,b哈希码:359023572 305808283
使用.equals()比较:true