2011-03-09 56 views
0

現在,默認的toString()方法顯示對象的內部標識符。如何更改我的toString()輸出

如何使toString()方法顯示對象變量?

謝謝!

+1

你有很多正確的答案,但我想我只是指出我們,如果你試圖調用toString()對象是Java API的一部分或從其他庫,那麼你將不得不創建一個圍繞對象的包裝(有效地創建它自己的版本,只覆蓋toString方法)。否則,無法將輸出格式格式化爲toString,正如我所知。 – Ali 2011-03-09 21:49:14

回答

2

您需要覆蓋toString()關於您想要的信息的類。

例如:

class Foo { 
    private String myProperty = "bar"; 

    @Override 
    public String toString() { 
     return myProperty; 
    } 
} 

在上面的例子中,你會看到以下內容:

new Foo().toString(); // outputs "bar" 
1

您需要重寫類的toString方法。在它中,你返回一個你將基於類屬性構造的String。

所以如果你下課了

class Person { 
    String firstName; 
    String lastName; 
} 

你想補充

public String toString() { 
    return firstName + " " + lastName; 
} 

那只是一個基本的例子。在實際代碼中,我會使用String.format()方法,或者可能使用apache StringBuilder工具,它會自動爲任何對象生成一個字符串。

1
@Override 
public String toString() 
{ 
    String yourString = ""; 

    //Do things to get what you want 

    return yourString; 
} 
0

繼承的類並重寫其toString()方法來顯示任何你想要的。