Java的String比较中==和.equals()的区别

在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

你可能感兴趣的:(Java基础知识,java,开发语言)