equals与== 和toString方法

/**
* equals()方法的使用
*
* 1.java.lang.Object类中的equals()方法的定义:
*
* public boolean equals(Object obj) {
return (this == obj);
}
*
* 说明:Object类中equals()比较两个对象的引用地址是否相同。(或:比较两个引用是否指向同一个对象实体)
*
* 2. 像String、Date、File、包装类等重写了Object类中的equals()方法,比较两个对象中的实体内容是否相等。
*
* 3. 对于自定义类来讲,如果没有重写Object类中的equals()方法,调用equals()方法时,仍然比较两个对象的引用地址
* 是否相同。
*
* 4. 一般情况下,在开发中一旦调用了自定义类的equals(),通常都是重写以后的equals()方法。
*
* 5.重写equals()的规则:比较两个对象的属性是否都相等。
*
*
* 面试题:== 和 equals() 区别?
*
* ==:使用范围:可以操作基本数据类型 和 引用数据类型
* 如果操作的是基本数据类型:比较两个基本数据类型的变量对应的值是否相等。
* 如果操作的是引用数据类型:比较两个引用的地址是否相同。
*
*
* equals():使用范围:只适用于引用数据类型 * 1.java.lang.Object类中toString()定义如下:
public String toString() {
return getClass().getName() + "@" + Integer.toHexString(hashCode());通过反射或渠道当前对象的 的名字+当前对象所在位置, 当前对象位置算法:通过hashcode方法算出然后转换成16进制,全类名+存在于堆空间的地址
}
* 2. 当我们打印一个对象的引用时,实际上就是调用了其toString()
* 3. 像String、Date、File、包装类等重写了Object类中的toString(),返回其代表的具体内容
* 4. 对于自定义类而言,如果我们没有重写Object类中的toString()方法,则返回的仍然是地址值。
* 5如果重写的话,重写的规则:返回当前对象的属性信息。

 

上一篇:[Spice-devel] usbredir for Windows Client


下一篇:RobotFramework自动化测试框架的基础关键字(一)