关于java:Object类的用法toString-equals

Object类

如果一个类没有指定的父类, 那么则会默认继承Object类

public class Student /* extends Object */ {
 // ...
}

  • 学习指标

    • toString
    • equals

toString

toString办法其实就是返回该对象字符串示意。
关键点来了哈
toString = 对象类型 + “@” + 地址hashCode(哈希数值)
toString 因为是返回的后果是地址,开发中每个对象属性不同,所以咱们个别须要重写它。

笼罩重写

不心愿应用toString办法失去默认行为,能够笼罩重写它

类
pubilc class Person{

  @Override
  public String toString(){
  return "嘻嘻硕" + "❤" + Integer.toHexString(hashCode());
 }  

}

实现类
public class Demo03 {
    public static void main(String[] args) {
        Person person = new Person();
        System.out.println(person.toString());
   }
}

输入后果:
曹在硕❤36d64342


equals

equals:批示某个对象是否与此对象”相等”。

默认地址比拟 与对象内容比拟

public class Demo02 {
    public static void main(String[] args) {

        String nub = "ABC";
        String nub1 = "ABC";

        System.out.println(nub.equals(nub1));// true
        
        String nub2 = "abc";
        String nub3 = "abc";

        System.out.println(nub2 == nub3); // true

        String nub4 = new String(); // 新的地址 
        String nub5 = new String();

        System.out.println(nub4 == nub5); // false
      
        String nub6 = new String("abc"); 
        String nub7 = new String("abc");

        System.out.println(nub6.equals(nub7)); // true
        
        
    }
}

== 总结 :
1.根本数据类类型: 正确true 错 false
注:两端数据类型能够不同,不同的状况 也能够返回true 。

2.援用数据类型:比拟援用类型变量雷同(首地址值)


equals 总结:
equals 比拟的是地址。


3.String 比拟的是地址

String str1 = new String("ABC");
String str2 = new String("ABC");
System.out.println(str1 == str2); // false
System.out.println(str1.eqyals(str2));  // ture

多花点工夫就能够学会~

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理