Object最高父类的方法应用 equals和toString
**
一/ equals方法
**
最高父类’Object’中的方法’equals’可以对比对象之间的各种内容是否相同,比如判断两个对象的 内存地址(哈希值) / 属性 / 参数内容 是否相同一致.
但是在没有重写的情况下,Object的’equals’方法包含了对地址值的判断,如果地址值不相同就不再进行 属性 或 参数内容 的判断.
因此,如果需要判断两个对象之间的 属性 或 参数内容 是否一致,需要在对象所属的类(如infoObj和infoObjTwo相对于info)中通过自动生成代码来重写’equals’的方法.
自动生成代码的操作方式:快捷键 Alt+Insert → 单击’equelt() and hashCode()’ → 单击’Next’ → 单击’Next’ → 单击’Finish’ →(可选) 删除其中附带生成的的’hashCode()'方法
public boolean equals(Object o) {
//对比两个对象的内存地址(哈希值)是否一致.默认为:假如否则直接返回结果并退出.
if (this == o) return true;
//对比两个对象的属性(即是通过同一个类创建的)是否一致.默认为:假如否则直接返回结果并退出.
if (o == null || getClass() != o.getClass()) return false;
//对比两个对象的参数内容(如'age'和'name')是否一致.
info info = (info) o;
return age == info.age &&
Objects.equals(name, info.name);
}
------------------------------------------------------
public class mainMethod {
public static void main(String[] args) {
info infoObj = new info("中国",70);
info infoObjTwo = new info("美国",205);
//对比两个对象的 '内存地址(哈希值)' / '属性' / '参数内容'
System.out.println(infoObj.equals(infoObjTwo));
}
}
**
二/ toString方法
**
最高父类’Object’的’toString’方法默认是获取对象的所在包位置和内存地址值(哈希值),如果想要它获取的是对象的参数内容,
那么就需要通过自动生成代码,来重写最高父类’Object’里面的’toString’方法.
效果如下:
重写前:aaa@qq.com
重写后:Info{name=‘永不磨灭的青春’, age=1}
自动生成代码的操作方式:单击’Code’ → 单击’Generate’ → 单击’toString’ → 按要求选择成员变量(默认权限) → 单击OK
或 按Alt+Insert → 单击’toSting’ → 按要求选择成员变量(默认权限) → 单击OK
public class mianMethod {
public static void main(String[] args) {
Info infoObj = new Info("永不磨灭的青春",1);
System.out.println(infoObj.toString());//重写前:aaa@qq.com
//重写后:Info{name='永不磨灭的青春', age=1}
System.out.println(infoObj);
}
}
-----------------------------------------------------------------------
@Override
public String toString() { //通过自动生成代码,来重写最高父类'Object'里面的'toString'方法.
// 操作:单击'Code' → 单击'Generate' → 单击'toString' → 按要求选择成员变量(默认权限) → 单击OK
// 或 按Alt+Insert → 单击'toSting' → 按要求选择成员变量(默认权限) → 单击OK
return "Info{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
上一篇: Chrome谷歌浏览器启用flash插件
下一篇: 搭建环境
推荐阅读
-
荐 java父类-Object类-equals与==-方法的重载和重写-游离块-this关键字
-
PAI中的Object类、toString、equals方法
-
Java:object类 中常用equals()和 toString()方法的重写
-
java类中的equals、hashCode和toString方法
-
Object最高父类的方法应用 equals和toString
-
java中Object类的方法之toString 、equals
-
Object类中的equals()、toString()的使用和== 和 equals() 区别
-
荐 java父类-Object类-equals与==-方法的重载和重写-游离块-this关键字
-
Object类和类中常用的方法:hashCode(),getClass(),toString(),equals(Object obj)(默认),clone();
-
java中Object类的方法之toString 、equals