概述
**
一/ 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’方法.
效果如下:
重写前:code.study.day03.toStringOverRide.Info@3f3afe78
重写后: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());//重写前:code.study.day03.toStringOverRide.Info@3f3afe78
//重写后: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 +
'}';
}
最后
以上就是搞怪鱼为你收集整理的Object最高父类的方法应用 equals和toString的全部内容,希望文章能够帮你解决Object最高父类的方法应用 equals和toString所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复