// Object类
// equals()方法
// 演示重写equals()方法判断两个对象是否相等,并将结果打印到控制台。
package ch04;
// 图书类
public class Book {
String isbn;// ISBN
String name;// 书名
double price;// 价格
public boolean equals(Object obj){
if(this == obj)//如果是同一个实例,则相等
return true;
if(obj == null)//如果obj为null,不可能相等
return false;
if(getClass()!=obj.getClass())//如果类型不同,认为不相
等
return false;
Book other=(Book)obj;
if(isbn==null){
//当前实例isbn为空,obj的isbn不为空,则不相等
if(other.isbn!=null)
return false;
}else if(!isbn.equals(other.isbn))//isbn不同,则不相等
return false;
if(name == null){
//当前实例name为空,obj的name不为空,则不相等
if(other.name!=null)
return false;
}else if(!name.equals(other.name))//name不同,则不相等
return false;
//price不同,则不相等
if(Double.doubleToLongBits(price)
!=Double.doubleToLongBits
(other.price))
return false;
return true;//其余情况,认为相等
}
}
Object类2
原创
©著作权归作者所有:来自51CTO博客作者闭关苦炼内功的原创作品,请联系作者获取转载授权,否则将追究法律责任
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
ES6的Object.fromEntries()和Object.hasOwn()
Object.fromEntries()方法是Object.entries()的逆操作,用于将一个键值对数组转为对象。
键值对 Object.hasOwn() Object.fromEntries -
JDK源码系列(2)-Object类
引言我们都知道,在Java中,Object是所有类的超类,所有的类其实都是隐含继承
JDK源码 Object java 本地方法 引用类型