Java中的Object類的toString()方法,equals()方法


Object類是所有類的父類,若沒有明確使用extends關鍵字明確表示該類繼承哪個類,那么它就默認繼承Object類,也就可以使用Object中的方法:

1.toString

如果輸出一個對象的時候,會使用Object類的toString方法,結果會輸出一個對象的哈希code碼,地址的字符串

Bridge bri=new Bridge();
System.out.println(bri);

通過重寫toString方法來輸出對象的屬性

    String name="子類的名字";
    int age=3;
    
    @Override
    public String toString() {
        return "Bridge [name=" + name + ", age=" + age + "]";
    }

返回的是一個字符串

2.equals()方法

 (1)默認的方法是比較對象的引用是否在同一地址

        Bridge bri=new Bridge();
        Bridge bri2=new Bridge();
        if (bri.equals(bri2)) {
            System.out.println("倆個對象相同");
        }else{
            System.out.println("倆個對象不相同");
        }

如果用bri==bri2是比較的倆個引用變量,所以也是比較的內存地址

(2)重寫以后可以比較倆個對象的值是否相同

public class Bridge{
    public int age=3;
    @Override
    public boolean equals(Object obj) {
        if (this == obj)
            return true;
        if (obj == null)
            return false;
        if (getClass() != obj.getClass())
            return false;
        Bridge other = (Bridge) obj;
        if (age != other.age)
            return false;
        return true;
    }
}
public class Test {
    public static void main(String[] args) {
        Bridge bri=new Bridge();
        bri.age=1;
        Bridge bri2=new Bridge();
        bri2.age=1;
        if (bri.equals(bri2)) {
            System.out.println("倆個對象相同");
        }else{
            System.out.println("倆個對象不相同");
        }
    }
}

 equals和==詳解見http://www.cnblogs.com/zhxhdean/archive/2011/03/25/1995431.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM