java中的tostring方法
1.作用:在Java中,toString() 方法是 Object 类中定义的一个方法。toString() 方法的作用是返回对象的字符串表示。在没有重写 toString() 方法时,默认情况下返回的字符串表示为“类名@哈希码” (包名+类名@对象的16进制内存地址)的形式。 重写 toString() 方法可以自定义返回的字符串,使得输出的信息更具有可读
2.使用:它是将对象转换为字符串的方法,通常用于打印和调试。一般情况下,我们需要重写该方法,以便能够根据实际情况来输出我们想要的值。
关于equals方法
equals方法是用于判断两个对象是否相等的方法,可以用于比较基本数据类型和引用类型。在比较两个对象是否相等时,需要重写equals方法,因为默认的equals方法比较的是对象的引用地址,而不是对象的内容。正确地重写equals方法可以避免出现不必要的错误
public boolean equals(Object obj) {
return (this == obj);
}
obj1.equals(obj2)
"=="如果判断引用类型,判断的是地址是否相等,即判定是不是同一个对象。
关于hashcode
Java 中 hashCode 方法的作用是返回对象的哈希码,通常用来在散列表中快速定位对象。哈希码是根据对象的内容计算出来的一个整数,如果两个对象的内容相同,那么它们的哈希码也应该相同。hashCode 方法是 Object 类中的方法,所有的 Java 类都可以重写该方法以提供自己的实现
import java.util.HashSet;
import java.util.Set;
public class HashTest {
private int i;
public int getI() {
return i;
}
public void setI(int i) {
this.i = i;
}
public boolean equals(Object object) {
if (object == null) {
return false;
}
if (object == this) {
return true;
}
if (!(object instanceof HashTest)) {
return false;
}
HashTest other = (HashTest) object;
if (other.getI() == this.getI()) {
return true;
}
return false;
}
public int hashCode() {
return i % 10;
}
}
解释object类
Java Object 类是所有类的父类,也就是说 Java 的所有类都继承了 Object, 子类可以使用 Object 的所有方法 。 Object 类位于 java.lang 包中,编译时会自动导入,我们创建一个类时,如果没有明确继承一个父类,那么它就会自动继承 Object,成为 Object 的子类