zoukankan      html  css  js  c++  java
  • Object.equals() 方法

    Object.equals() 方法:

     1 public class EqualsTest1 {
     2     public static void main(String[] args) {
     3         //Cat c1 = new Cat();
     4         //Cat c2 = new Cat();
     5         //System.out.println(c1 == c2);//result:false
     6         Cat c3 = new Cat(1,2,3);
     7         Cat c4 = new Cat(1,2,3);//在重写equals()方法之前的比较
     8         //System.out.println(c3.equals(c4));//result:false
     9         
    10         System.out.println(c3.equals(c4));//result:true
    11         
    12     }    
    13 }
    14 
    15 class Cat {
    16     int color,height,weight;    
    17     
    18     Cat(int color,int height,int weight) {
    19         this.color = color;
    20         this.height = height;
    21         this.weight = weight;
    22     }
    23     
    24     public boolean equals(Object obj) {
    25         if (obj instanceof Cat) {
    26             Cat c = (Cat)obj;//转换成Cat对象
    27             if (color == c.color & height == c.height & weight == c.weight) {
    28                 return true;    
    29             }    
    30         }    
    31         return false;
    32     }
    33 }
    34 
    35 /*
    36 1.如果两个对象的引用直接用 == 号来比较,那么比较的是这个引用所指向的堆内存地址。
    37 2.Object类包含了equals()方法,默认的比较方式是比较两个对象引用指向的堆内存地址,就是比较引用
    38         的 ==。
    39 3.我们定义一个类,一般需要重新定义它从Object类继承的equals()方法来正确的比较。否则是默认
    40         的比较方法。
    41 */
  • 相关阅读:
    数论 欧几里德算法 以及 欧几里得拓展
    数论 快速幂的原理讲解
    汉诺塔模板
    C++ 迭代器运算
    C++ STL vector set map 简易用法
    C++ 使用指向函数的指针数组
    Codeforces 718C 线段树+矩乘
    BZOJ 2506 分块
    Codeforces 455D 分块+链表
    Codeforces 19E 树上差分
  • 原文地址:https://www.cnblogs.com/yhwsy/p/5701778.html
Copyright © 2011-2022 走看看