1. 程式人生 > >Object類中重要的幾個方法

Object類中重要的幾個方法

1.Object和Object.toString()輸出是否相等?

public class Demo1 {
    public static void main(String[] args) {
        Object o=new Object();
        System.out.println(o);
        System.out.println(o.toString());
    }
}

這兩個輸出是相等的 ,執行結果如下所示

2.為什麼?

       按住ctrl鍵,滑鼠點選System.out.println()檢視println()方法的具體操作步奏如下所示

 public void println(Object x) {
        String s = String.valueOf(x);
        synchronized (this) {
            print(s);
            newLine();
        }

valueOf(x)的方法如下:

public static String valueOf(Object obj) {
        return (obj == null) ? "null" : obj.toString();
    }

結論分析:system.out.println(0)呼叫了return (obj == null) ? "null" : obj.toString();

 System.out.println(o.toString());直接呼叫了object類中的toString()方法,所以執行的結果是相同的

3.hashCode()

返回該物件的雜湊碼值。

4.equals(Object obj)

指示其他某個物件是否與此物件“相等”。

註釋:該方法判斷兩個物件的地址是否相等