Object 是所有类的父类,可以接受一切数据类型
在这里我们要想判断两个数值是否相同,首先得确保是同种类型
可以使用 instensOf 判断 Object 所表示的值类型是否为某个类型
== 和 equals() 的区别
== 可以比较基本数据类型也可以比较应用数据类
当比较的是基本数据类型的时候比较的是数值,比较引用
数据类型的时候比较的是地址值
equals()在没有进行重写的情况下的比较方式和==是一样的,重写之后就按照重写的
的规则进行比较。
public boolean equals(Object obj) {
//判断两个对象的地址值是否相同,如果相同则返回true
if (this == obj){
return true;
}
//如果地址相同,再判断信息是否一致,首先得确保是同种类型
if(obj instanceof Student){
//如果能够进入此方法则表示传入的形参和Student是同种类型,就可以对里面的属性
//进行一一比对,为了编写方便先转换为同种类型
Student s = (Student)obj;
if(this.id==s.id && this.name.equals(s.name)){
return true;
}
}
return false;
}
如: