Java ==和equals有什么区别?

Posted 王睿丶

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java ==和equals有什么区别?相关的知识,希望对你有一定的参考价值。

1、概念分析

基本数据类型 == 比较的是值
引用数据类型 == 比较的是内存地址

  • “==” :判断两个对象的地址是不是相等。即判断两个对象是不是同一个对象。

  • equals():判断两个对象的内容是否相等。

2、代码分析

"==" 比较基本数据类型
结果:相等

		int num1=20,num2=20;
		if(num1==num2) 
			System.out.println("相等");
		else 
			System.out.println("不相等");

"==" 比较引用数据类型
结果:不相等

		String str1="123";
		String str2 = new String("123");
		if(str1==str2) 
			System.out.println("相等");
		else 
			System.out.println("不相等");

equals() 比较引用数据类型
结果:相等

		String str1="123";
		String str2 = new String("123");
		if(str1.equals(str2)) 
			System.out.println("相等");
		else 
			System.out.println("不相等");

以上是关于Java ==和equals有什么区别?的主要内容,如果未能解决你的问题,请参考以下文章

java 中 “==” 和 equals 的区别

Java中的“==操作符”和equals方法有什么区别

Java技术分享:”==“和 equals 方法究竟有什么区别?

equals和==的区别是啥?

equals和==的区别

java中== 和 .equals()的区别