2021年1月21日星期四

Java中的对象比较

一、对象的比较

在之前如果是两个数值的比较"==",如果是字符串的比较一般用"equals()" 方法,这个方法是String 类自己提供的,如果是我们自定义的类的对象怎么进行比较,如果使用"=="比较则比较的是两个对象的地址信息,但是我们正常思维认为两个对象的所有属性值相等两个对象就相等。

DEMO:比较自定义类的对象

 



 



 



 



以上可以实现对象比较,但是是在主方法中实现的,一般要求主 方法中尽量不要出现逻辑业务代码,主方法就是一个客户端,最好将比较的过程交给Dept类去完成。

DEMO:在Dept中定义方法实现对象的比较

 



 



 



 



 



以上代码可能出现对象自己和自己比较的情况,这种代码是没有意义,所以需要改进代码。

DEMO:防止对象自己和自己比较

 



以上的代码还有问题,可能比较的对象是空对象,所以会出现空指针异常,那么代码还需要改善。

DEMO:防止空对象的比较

 



 



总结:

1、自定义对象的比较只能两个对象都是同一个类创建的才有意义。

2、比较的时候要判断是否是空对象。

3、比较的时候要判断是不是对象和自己进行比较。

 

详细的java系统视频免费学习地址

 

有完整的Java初级,高级对应的学习路线和资料!专注于java开发。分享java基础、原理性知识、JavaWeb实战、spring全家桶、设计模式、分布式及面试资料、开源项目,助力开发者成长!


欢迎关注微信公众号:码邦主









原文转载:http://www.shaoqun.com/a/512439.html

跨境电商:https://www.ikjzd.com/

走秀网:https://www.ikjzd.com/w/2427

myyearbook:https://www.ikjzd.com/w/726


一、对象的比较在之前如果是两个数值的比较"==",如果是字符串的比较一般用"equals()"方法,这个方法是String类自己提供的,如果是我们自定义的类的对象怎么进行比较,如果使用"=="比较则比较的是两个对象的地址信息,但是我们正常思维认为两个对象的所有属性值相等两个对象就相等。DEMO:比较自定义类的对象以上可以实现对象比较,但是是在主方法中实现的,一般要求主方法中尽量不要出现逻
net-a-porter:net-a-porter
ishare:ishare
医疗器械"钱"途光明,你跟上合规的步伐了吗?:医疗器械"钱"途光明,你跟上合规的步伐了吗?
香港三日路线,购物美食一起搞定:香港三日路线,购物美食一起搞定
广州去哪过大年?沙湾古镇2020新年有庙会吗?:广州去哪过大年?沙湾古镇2020新年有庙会吗?

没有评论:

发表评论