2014-03-13 5 views
8

ich sehen kann, dass die log.dDrucken Sie eine Liste <String> Logcat

Log.d(String TAG, String). 

erfordert Wie kann ich auf den Android Debug drucken Sie eine Liste String anstatt nur einen String Logcat?

+1

Ich meine das als eine ernste Frage. Warum liest du nicht einfach die Dokumente für 'List' und siehst welche Methoden verfügbar sind? Sie hätten 'toString()' gefunden. Es ist schneller, als hier eine Frage zu stellen. – Simon

Antwort

20

Nutzen Sie toString() Methode, die für die meisten gängigen Datenstrukturen zur Verfügung:

Log.d("list", list.toString()); 

Above Anweisung erhalten Sie das erwartete Ergebnis geben, wenn Sie Ihre List/Collection mit Generic type in Java definiert erklären. Wie String, Integer, Long usw. Ursache, sie alle haben toString() Methode implementiert.

Custome Allgemein Typ:

Aber wenn Sie die List mit Ihren eigenen benutzerdefinierten Typ deklarieren, dann werden Sie nicht korrekte Ausgabe erhalten, indem nur list.toString() aufrufen. Sie müssen die Methode toString() für Ihren benutzerdefinierten Typ implementieren, um die erwartete Ausgabe zu erhalten.

Zum Beispiel:

Sie eine Modellklasse Dog wie unten

public class Dog{ 
    String breed; 
    int ageC 
    String color; 
} 

Sie erklärt ein List mit Dog Typ

List<Dog> dogList = new ArrayList<Dog>(); 

jetzt genannt haben, wenn Sie drucken möchten diese Liste in LogCat richtig die n müssen Sie toString() Methode in Dog Klasse implementieren.

public class Dog{ 
    String breed; 
    int age 
    String color; 

    String toString(){ 
     return "Breed : " + breed + "\nAge : " + age + "\nColor : " + color; 
    } 
} 

Nun werden Sie richtiges Ergebnis, wenn man list.toString() nennen.

+0

Danke dafür! – waseefakhtar