“==”和equals的用法和区别

“==”和equals都是比较两边的东西。
“==”是比较基本数据类型,像int a=5;int b=5;a和b比较,两个数相同。引用数据类型是比较两个创建对象的地址是否相同

// 基本数据类型的比较
	int a = 5;
	int b = 5;
	System.out.println(a==b);//true
	//输出是true
	
//引用数据类型的比较
//创建一个类
class Add{}
public class Test {
	public static void main(String[] args) {
	//两个对象的地址不同	
	Add add = new Add();
	Add add2 = new Add();
	System.out.println(add == add2);//false
	//输出是false
	
	//两个对象都是同一个地址
	Add add3 = new Add();
	Add add4 = add3;
	System.out.println(add3==add4);//true
	//输出是true
}
}
	

equals是先比较两个对象的地址,如果地址不同就会比较创建对象的值

//创建一个类
class Cat{}
public class Equals {
	public static void main(String[] args) {
		//创建两个对象做比较,这个两个不是一个地址,
		Cat cat = new Cat();
		Cat cat2 = new Cat();
		System.out.println(cat.equals(cat2));//false
		//所以这个对象的地址不同,输出是false错的
		System.out.println("------");
		
		//这两个对象的地址是一个,
		Cat cat3 = new Cat();
		Cat cat4 = cat3;
		System.out.println(cat3.equals(cat4));//true
		//所以输出是true对的
		System.out.println("------");
		
		//创建三个字符串作比较
		String add1 = "hello";
		String add2 = "hello";
		String add3 = "word" ;
		String add4 = "helloword";
		System.out.println(add1.equals(add2));//true
		//这两个虽然地址不同,但后面的值是相同的
		System.out.println(add1.equals(add3));//false
		//两个一看就不一样,false
		System.out.println(add4.equals(add1+add3));
		//这个是add4和(add1+add3)比较,add1加add3就等于
		//拼接好的helloword,地址不同,后面的值相同。
	}
 }

false

true

true
false
true

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值