Object类里有一个equals方法,以下是针对这个方法的理解:
这个函数的用法是:比较[调用这个方法的对象]和[方法传递进去的参数对象]是否相等。
重写这个方法,意思是让你定义两个对象如何才算是相等。这样给了你极大的灵活性。因为比较两个对象是否相等是由你来定义的。这样你定义的新对象的比较也可以由你来定义。
举个例子:
假设1:现在你有一个clothes(衣服)类,有加工厂家,价格,型号三个参数。
假设2:你需要对比两件衣服是否是相同的,在这个比较中,加工厂家这个参数对你来说是不必要的,也就是说就算两件衣服在不同的厂家加工,可是它们价格和型号一样的情况下,你需要把它们视作同样的衣服。
那么:这时候你只需要在equals方法里定义比较价格和型号这两个参数,而不必去关心加工厂家这个参数。
以下是示例:
equals是判断两个对象是否相等,用法都在if判断语句用
String a = new String("java");
String b = new String("java");
if(a.equals(b)){
//doSomeThing
}else{
//doSomeThing
}
当然判断a和b对象不相等的写法为: !a.equals(b))也行
方法的重写又称重构(一般都叫重构。。。。)
就是子类重新写一个和父类参数,返回值类型一样的方法
public class A{
public int doSomeThing(int a ,int b){
System.out.println("父类的方法");
}
}
public class B extends A(){
public int doSomeThing(int c ,int d){
System.out.println("子类重写的方法");
}
}
所以源自于Object类里的equals方法,在object的子类里被重写了,比如在String类里面重写成了比较String的方法。
本意没有变,还是比较[调用这个方法的对象]和[方法传递进去的参数对象]是否相等。
分享到:
相关推荐
Java重写equals同时需要重写hashCode的代码说明,以及如何重写hashCode方法,此代码演示按照effective java书籍说明的重写思路。代码中演示了使用集合存储对象,并且对象作为key,需重写equals和hashCode.
面试官瞬间就饱了,重写equals函数,需要重写hashCode函数吗? 面试官问我,为什么重写equals函数,必须重写hashCode函数,我当时就懵住了。 然后扯天扯地,然后面试官瞬间就饱了,痛定思痛,写下这篇博客 首先看...
C# Equals 和 GetHashCode 方法重写,
本文讲述了什么时候重写equals方法和如何重写equals方法。
NULL 博文链接:https://zpointer.iteye.com/blog/1058337
Java 对Object类的认识和equals()方法和== 的对比
能够加强对java中equals与==区别的理解。
java中equals和==的区别.doc java中equals和==的区别.doc
主要介绍了Java中equals()方法重写实现代码的相关资料,需要的朋友可以参考下
主要给大家介绍了Java中Object.equals和String.equals的区别,文中通过一个小示例让大家轻松的明白这两者的区别,对大家具有一定的参考价值,需要的朋友们下面来一起看看吧。
java_equals用法,用来熟悉重写equals方法的
equals方法重写作业,Students类,有三个属性id ,name ,grade。还有一个测试类用于测试创建了三个对象前两各对象的数据完全一样,第三个对象的数据不同。使用equals方法比较。并输出结果。
浅谈Java中的equals和==Java开发Java经验技巧共6页.pdf.zip
Java中的==与equals()实例方法Java中测试两个变量是否相等的方法有两个,一个是用==运算符,另一个就是object类提供的equals()方法。2
重载equals方法示例重载equals方法示例重载equals方法示例重载equals方法示例重载equals方法示例
NULL 博文链接:https://jewel-m.iteye.com/blog/1220391
主要介绍了java中重写equals和重写hashCode()的相关资料,需要的朋友可以参考下
重写equals和hashcode方法,学习和进步
前言 对于开发的程序员小伙伴,...equals:在Object中模式采用==比较,通常会重写 String对象重写了 equals,比较的是变量值 从上面我们笼统的来说明了一下两者的不同,那么接下来我们看看具体的区分 对象类型的比较
Java中的equals()和hashCode()契约Java开发Java经验技巧共3页.pdf.zip