2016-03-03 32 views
0
public boolean equals(Object o) { 
    if(!(o instanceof TypedValue)){ 
    return false; 

    } 
    else{ 
    if (o.type() == this.type()){ 
    //stuff 
    } 

}Java對象方法(小白東西)

(IM一個java小白)這個代碼是從我的TypedValue類,我上o.type()類型的誤差()原位缺口的方法對象。但是type()是Typedvalue的一個方法,o必須是TypedValue的一個實例。我可以強制刪除錯誤,但不知道我的代碼是否能以正確的方式工作。它對代碼的其餘部分很重要,函數將對象作爲參數,而不僅僅是一個類型值。

+0

作爲@JB Nizet提到,鑄造是安全的,這是做它的地方。它的工作原因是父子關係,Parent可以是子對象的一個​​實例,在你的情況下TypeValue是對象的子類,並且由於你確認它確實是TypeValue,所以你可以安全地進行投射 –

回答

3

答案在於:您必須投射。

演員是安全的,因爲您剛剛檢查了o確實是TypedValue的一個實例。