关于equals方法和“==”的个人理解

本文详细解析了Java中基本数据类型及引用类型(如String、自定义类)的比较方式,阐述了==与equals方法的区别及应用场景,并通过示例代码帮助理解。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

//1.基本上数据类型性比较只能使用==
/*例如: int a1=new Integer(3);
System.out.println(a1==3);*/
/*例如:
* int a=new Integer(3);
System.out.println(a.equals(3));
就会报错
*/
//2.比较String的时候用既可以用==,也可以用equals
  //2.1使用==比较的时候
//2.1.1如果==两边是变量,比较的是另个变流量对应的内存中存储的位置
//2.1.2如果==左边和右边不一样的时候(一个是变量一个是基本数据类型)那么比较的是变量中存储的引用和基本数据类型比较
//2.2使用equals比较String的时候,不管比价变量还是指接比较比较的都是字符串
//所以我们比较连个字符串的时候都是使用equals进行比较
/*例如
String nu = new String("333");
String nu2=new  String("333");
System.out.println(nu==nu2);//false
System.out.println(nu=="333");//false
System.out.println(nu.equals("333"));//比较的是变量中存储的值//true*/
//3.比较引用数据类型的时候用equals,对于任意个一个类,如果沒有重写equals方法的时候就是采用继承object的该方法
//而object中该方法是这么写的:boolean equals(Object o){return this==o}
//所以对于类的比较我们可以使用继承过来的equals方法(这时候表示比较变量对应内存中中存储的指针信息),
//也可以自己重写该方法让他们比较具体的属性,按照自己的需要来写。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值