java中的equals用法

本文探讨了Java中使用equals方法进行对象比较的重要性,并通过实例解释了equals与==的区别。文章强调了对于不同类型的对象,equals能够更准确地判断其内容是否相等。

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

最近在写程序时候,出现了一些错误,后来发现我在比较两个字符串时用了“==”,而不是equals,导致程序运行结果不对。java中equals是非常重要的,特将一些使用equals的一些用法记录下来。

以前比较两个对象时总是喜欢用“==”,但在java中用“==”比较不同的对象时,会导致意想不到的结果,比如有以下例子:String str1=new String("Hello word") String str2=new String("Hello word") 则str1==str2的值为false ,与自己预想的值相反吧。虽然他们的值相同,但他们是不同的对象,所以值为false。而str1.equals(str2)返回值为True,只要它们是相同的类型并且值相同,就可认为这两个对象相同哦........而JDK类中有一些类覆盖了oject类的equals()方法,比较规则为:如果两个对象的类型一致,并且内容一致,则返回true,这些类有:java.io.file,java.util.Date,java.lang.string,包装类(Integer,Double等)。

对于Object类,它提供了一个最最严密的实现,那就是只有是同一对象是,equals方法才返回
true,也就是人们常说的引用比较而不是值比较.这个实现严密得已经没有什么实际的意义,
所以在具体子类(相对于Object来说)中,如果我们要进行对象的值比较,就必须实现自己的
equals方法.

以后对equals的用法进一步理解后再续!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值