博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Object_equals 方法
阅读量:4488 次
发布时间:2019-06-08

本文共 2687 字,大约阅读时间需要 8 分钟。

一 Object 中equals:

  格式: public boolean equals(Object obj)

  equals 是比较两个对象是否相等,实际是比较两个对象的内存地址值是否相等,如果相等方法true,否则false

二 String 中equals:

  重写了Object中equals 是用来比较两个字符串是否相等

  目的是给对象成员比较

三 ==

  基本数据类型比较:

    基本数据类型比较只能用==

  引用数据类型比较:

    用于比较两个对象是否相等,实际上是比较两个对象内存地址是否相等

  

  

/* String equals 重写Object 中的方法; */package cn.itcast_03;public class Student3 {    private String name;    private int age;    public Student3() {        super();    }    public Student3(String name, int age) {        super();        this.name = name;        this.age = age;    }    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }    public int getAge() {        return age;    }    public void setAge(int age) {        this.age = age;    }        // @Override    /* public boolean equals(Object obj){        //为了提高代码效率        if(this == obj){            return true;        }        if(obj == null){            return false;        }                if(getClass() != obj.getClass()){            return false;        }                if(        )    } */        @Override    /*     String 类型比较, 得用String 类中而equals();比较的是字符串值是否相等    比较成员变量    String equals 是重写Object 中方法    */    /*     public boolean equals(Objcet obj){        Student3 s = (Student3)obj;//使用学生类特有的成员变量, 因此需要向下转型        if(this.name.equals(s.name)  && (this.age == s.age)){            return true;        }else{            return false;        }                //上面可以写成这样        // return this.name.equals(s.name) && this.age == s.age;    }     */    //优化本    public boolean equals(Objcet obj){        //提高效率,同一个对象就不用比较        if(obj == this){            return true;        }        //判断是否是obj 是否是学生类,用 instanceof 判断        if(!(obj instanceof Student3)){            return false;        }      //强制类型转化      Student3 s = (Student3) object;        return this.name.equals(s.name) && this.age == s.age;            }}
/* equals:    Object 中 equals();        public boolean equals(Object obj){            return obj == this;        }    Object 中 equals 比较两个对象的地址值        重写: equals 重写一般比较是成员变量, 而且可以自动生成.    == hao:    基本数据类型的比较    引用数据类型的同一个类中对象的比较,对象的地址值    不同类对象比较会报错 */package cn.itcast_03;public class StudentDemo1{    public static void main(String[] argws){        Student3 s1 = new Student3("林青霞", 30);        Student3 s2 = new Student3("林青霞", 30);        System.out.println(s2 == s1);//false        Student3 s3 = s1;        System.out.println(s3 == s1);//true                System.out.println("---------------------");        System.out.println(s1.equals(s2));//false        System.out.println(s1.equals(s3));//true    }}

 

转载于:https://www.cnblogs.com/yu-zhi/p/9521295.html

你可能感兴趣的文章
BeautifulSoap库入门
查看>>
乐观锁与悲观锁
查看>>
Codeforces Round #328 (Div. 2)D. Super M 虚树直径
查看>>
Java判断是否为移动端
查看>>
chromedriver下载链接以及对应版本
查看>>
[SimplePlayer] 6. 音频同步
查看>>
把一个SVN项目的目录结构 导入到另外一个空白的SVN项目里
查看>>
Android之Adapter用法总结-(转)
查看>>
总结列表显示ListView知识点
查看>>
android 教程实例系列
查看>>
lucene笔记
查看>>
tomcat无法正常shutdown
查看>>
zookeeper + dubbo 搭建
查看>>
根据前序遍历和中序遍历求出二叉树并打印
查看>>
作业4
查看>>
LeetCode "Divide Two Integers"
查看>>
mcs51 串口通信 单片机发 pc收
查看>>
MySQL ACID及四种隔离级别的解释
查看>>
text-align 属性,输入框数字向右靠
查看>>
debian分区方案(就这个看着靠谱点)转
查看>>