Android + toString - PullRequest
       6

Android + toString

5 голосов
/ 23 августа 2010

Может кто-нибудь сказать, для чего предназначен toString в Android и как его можно использовать?

Как пример, мы будем очень признательны.

Ответы [ 4 ]

17 голосов
/ 23 августа 2010

toString не относится к Android. Это метод в классе объектов Java, который является суперклассом каждого объекта Java. 'toString' предназначен для возврата текстового представления объекта. Это обычно переопределяется Java-классами для создания удобочитаемой строки для представления этого объекта.

Помимо многих других применений, он широко используется для целей регистрации, чтобы напечатать объект в читаемом формате. Добавление объекта со строкой автоматически вызывает toString () этого объекта, например, "abc" + myObject вызовет 'toString' myObject и добавит возвращаемое значение к "abc"

Хороший пример реализации toString будет выглядеть так:

  @Override
  public String toString() {
    return new StringBuilder()
    .append("{Address:")
    .append(" street=").append(street)
    .append(", pincode=").append(pincode)
    .append("}").toString();
  }
3 голосов
/ 03 мая 2017
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);
    }

}
3 голосов
/ 23 августа 2010

Это так же, как в обычной Java ... Я использую его для отладки следующим образом:

class MyClass {
    var myVar;
    var myOtherVar;

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

с Log.d("TAG", myClassObject.toString()); Я могу записать, что содержит мой объект ... это всего лишь одна из бесчисленных возможностей.

0 голосов
/ 28 января 2014

Это не похоже на 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"
...