2010-08-23 53 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