2010-08-23 19 views
5

¿Alguien puede decir por favor qué es para ti que androide en Android y cómo se puede utilizar?Android + toString

Como ejemplo sería muy apreciado.

+1

Nadie no puede conseguir que !!!! – Praveen

+0

@Praveen: ¿de qué estás hablando? –

Respuesta

3

Es el mismo que en Java normales ... lo uso para la depuración de esta manera:

class MyClass { 
    var myVar; 
    var myOtherVar; 

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

con Log.d("TAG", myClassObject.toString()); puedo registrar lo que mi objeto contiene ... esa es sólo una de las innumerables posibilidades.

16

toString no es específico de android. Es un método en la clase Object de Java, que es la superclase de cada objeto java. 'toString' está destinado a devolver la representación textual de un objeto. Esto es generalmente anulado por las clases de Java para crear una cadena legible para humanos para representar ese objeto.

Aparte de muchos otros usos, es ampliamente utilizado para fines de registro a fin de imprimir el objeto en un formato legible. Al agregar un objeto con cadena, se llama automáticamente a toString() de ese objeto, p. "abc" + myObject invocarán 'toString' de myObject y anexar el valor devuelto a "abc"

Un buen ejemplo de aplicación toString se vería -

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

No es como Java. Anular ejemplo:

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

Y a continuación, el uso del método es

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

¿Qué no es como java? – akashr

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

Simple y efectivo. Puse esto en mi clase base Model para cubrir todos los objetos –

Cuestiones relacionadas