2010-08-23 62 views
5

任何人都可以告訴Android中的toString用於什麼以及它如何使用?Android + toString

作爲例子將不勝感激。

+1

沒有人不能得到你!!!! – Praveen 2010-08-23 09:47:04

+0

@Praveen:你在說什麼? – 2010-08-23 09:50:19

回答

3

它等同於普通的Java ... 我用它來完成調試這樣的:

class MyClass { 
    var myVar; 
    var myOtherVar; 

    public String toString() { 
     return "myVar: " + myVar + " | myOtherVar: " + myOtherVar; 
    } 
} 

Log.d("TAG", myClassObject.toString());我可以登錄我的什麼對象包含... 那只是無數的可能性中的一種。

16

toString並非特定於android。它是java的Object類中的一個方法,它是每個java對象的超類。 'toString'用於返回對象的文本表示。這通常被java類重寫,以創建一個可讀的字符串來表示該對象。

除了許多其他用途,它被廣泛用於記錄目的,以便以可讀格式打印對象。使用字符串追加對象會自動調用該對象的toString(),例如"abc" + myObject將調用myObject的的「的toString」和追加返回的值設置爲「ABC」

的toString實現的一個很好的例子會是什麼樣子 -

@Override 
    public String toString() { 
    return new StringBuilder() 
    .append("{Address:") 
    .append(" street=").append(street) 
    .append(", pincode=").append(pincode) 
    .append("}").toString(); 
    } 
0

它不喜歡的Java。覆蓋例如:

@Override 
public String toString() 
{ 
    return new StringBuffer() 
    .append("[Museum]-") 
    .append(name) 
    .append(" Lat:") 
    .append(lat) 
    .append(" Lon: ") 
    .append(lon).toString(); 
} 

,然後方法的用法是

Log.i(LOG_TAG, museum.toString()); // Instead of just "museum" 
+0

什麼不是java? – akashr 2016-05-04 13:42:25

2
class Account { 

    public final String name; 
    public final String email; 

    public Account(String name, String email) { 
     this.name = name; 
     this.email = email; 
    } 

    @Override 
    public String toString() { 
     return new Gson().toJson(this); 
    } 

} 
+1

簡單而有效。我把它放到我的基礎模型類中以覆蓋所有對象 – 2017-07-21 22:38:51