Eine kleine Geschichte zum Debuggen. So verfolgen Sie, wann ein Wert zu einer Liste hinzugefügt wird.
public class Foo {
public List<String> list = new ArrayList<>();
}
Wenn Sie überwachen möchten, wann ein Wert zu einer Liste wie der oben genannten hinzugefügt wird, können Sie ihn in eine anonyme Klasse umschreiben und die unten gezeigte Methode "add" überschreiben, um ein Protokoll auszugeben, wenn der Wert hinzugefügt oder an einem Haltepunkt verarbeitet wird. Du kannst es aufhalten.
public class Foo {
public List<String> list = new ArrayList<String>() {
@Override
public boolean add(String string) {
//Wenn Sie hier einen Haltepunkt hinzufügen, können Sie den Prozess stoppen, wenn der Wert hinzugefügt wird.
System.out.println("hinzugefügt:" + string);
return super.add(string);
}
};
}
Nicht nur "Hinzufügen", sondern auch andere Verarbeitungen wie "Entfernen" können erweitert werden. Nur zum kleinen Debuggen.
Listen können mit anonymen Klassen und Initialisierungsblöcken initialisiert werden.
List<String> list = new ArrayList<String>();
list.add("1");
list.add("2");
list.add("3");
Das Obige kann wie folgt geschrieben werden.
List<String> list = new ArrayList<String>() {{
add("1");
add("2");
add("3");
}};
Obwohl die Anzahl der Typen leicht reduziert ist, ist es für Anfänger nicht freundlich, so dass es nicht empfohlen wird, es in der Teamentwicklung zu verwenden (ich glaube nicht, dass dies normalerweise gemacht wird ...)
Recommended Posts