==和equals

 ==和equals()都是用于相等型判断的操作符

 == 操作符用来判断两个引用是否指的同一个对象,或者两个简单类型的值是否相等(基本类型)

 equals()方法用来判断对象的内容是否相等,相等的条件在该类中定义(引用类型)

 Object类的equals()方法直接用==实现

public class Student {
   public int stuid;
   public long phone;
   public Student(int stuid,long phone){
       this.stuid=stuid;
       this.phone=phone;
   }
   //要想比较两个值,必须重新定义(重写)equals方法
   public boolean equals(Student s){
       if (this.stuid==s.stuid&&this.phone==s.phone) {
        return true;
    }else {
        return false;
    }
   }
   public static void main(String[] args) {
        Student stu1=new Student(1,135964589745L);
        Student stu2=new Student(1,135964589745L);
        System.out.println(stu1==stu2);//false
        //equals只是判断两个对象的内存地址
        System.out.println(stu1.equals(stu2));
        //基本数据类型  直接使用== 进行比较
        //引用数据类型 如果要比较两个对象的(内容)是否相等,我们需要使用equals方法
        //但是要确定两个对象是不是同一个地址引用 就使用==
        //在引用类型的参数进行比较时 大部分情况下都是使用equals方法,使用(==)非常非常少
}
}

 

posted @ 2014-12-12 23:32  屌丝一枚#  阅读(76)  评论(0)    收藏  举报