Java中的Object类用法总结
在Java中,每个类都是Object类的子类,因此Object类提供了一些通用方法可以用于任何对象,本文将总结Object类的用法。
Object类中的常用方法
equals()
equals()
方法用于比较两个对象的值是否相等,但需要注意的是,==
运算符比较的是两个对象的引用是否相等,而不是值。
示例:
String s1 = "hello";
String s2 = "hello";
String s3 = new String("hello");
System.out.println(s1.equals(s2)); //输出:true
System.out.println(s1.equals(s3)); //输出:true
System.out.println(s1 == s2); //输出:true
System.out.println(s1 == s3); //输出:false
toString()
toString()
方法用于返回对象的字符串表示形式,默认实现返回了类名、@
符号和散列码,但可以通过重写该方法来返回更有意义的字符串。
示例:
class Person {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
@Override
public String toString() {
return "Person{name='" + name + "', age=" + age + "}";
}
}
Person p = new Person("张三", 18);
System.out.println(p.toString()); //输出:Person{name='张三', age=18}
hashCode()
hashCode()
方法用于返回对象的散列码,该散列码可以用于hash表等数据结构中,优化查找的速度。
示例:
class Person {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
@Override
public int hashCode() {
return Objects.hash(name, age);
}
}
Person p1 = new Person("张三", 18);
Person p2 = new Person("张三", 18);
System.out.println(p1.hashCode()); //输出:2018903644
System.out.println(p2.hashCode()); //输出:2018903644
getClass()
getClass()
方法用于返回对象所属的类的Class
对象。
示例:
String s = "hello";
System.out.println(s.getClass().getName()); //输出:java.lang.String
总结
以上就是Object类中的几个常用方法,比较、字符串表示、散列码和类资讯都是一些非常基本的东西,Object类也就成为最多Java程序员学习过的类了。
当然,这些方法不仅仅是Object自己提供的方法,我们可以进一步根据需要重写这些方法,针对自己的业务逻辑来返回更加合理的结果。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java中的Object类用法总结 - Python技术站