26.equals函数的作用

  • equals函数在什么地方
    • 所有的类当中都会有equals函数
 
  • equals函数的作用
    • “==”操作符的作用:判断两个引用是否指向堆内存当中的同一块地址
 
  1. publicclassTest{
  2. publicstaticvoid main(String args []){
  3. User u1 =newUser();
  4. User u2 =newUser();
  5. User u3 = u1;
  6. boolean b1 = u1 == u2;
  7. boolean b2 = u1 == u3;
  8. System.out.println(b1);
  9. System.out.println(b2);
  10. }
  11. }
结果:
D:\work\src>javac Test.java
 
D:\work\src>java Test
false
true
 
    • equals函数的作用是用来比较,两个对象的内容是否相等(类型和值都相等)
 
 
  • 复写equals函数的方法
 
  1. classUser{
  2. String name;
  3. int age;
  4. public boolean equals(Object obj){
  5. if(this== obj){
  6. returntrue;
  7. }
  8. //instanceof作用:判断前面的对象是不是后面对象的类型
  9. boolean b = obj instanceof User;
  10. if(b){
  11. //obj向下转型为User对象
  12. User u =(User)obj;
  13. if(this.age == u.age &&this.name.equals(u.name)){
  14. returntrue;
  15. }
  16. else{
  17. returnfalse;
  18. }
  19. }
  20. else{
  21. returnfalse;
  22. }
  23. }
  24. }
 
  1. publicclassTest{
  2. publicstaticvoid main(String args []){
  3. User u1 =newUser();
  4. User u2 =newUser();
  5. User u3 =newUser();
  6. u1.name ="zhagnsan";
  7. u1.age =12;
  8. u2.name ="lisi";
  9. u2.age =12;
  10. u3.name ="zhagnsan";
  11. u3.age =12;
  12. System.out.println(u1.equals(u2));
  13. System.out.println(u1.equals(u3));
  14. }
  15. }
结果:
D:\work\src>javac User.java
 
D:\work\src>javac Test.java
 
D:\work\src>java Test
false
true
 





转载于:https://www.cnblogs.com/arroneve/p/5815474.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值