[Java small story] Überwachen Sie, wann der Liste ein Wert hinzugefügt wird

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.

Apropos

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

[Java small story] Überwachen Sie, wann der Liste ein Wert hinzugefügt wird
[Kleine Geschichte] Ich habe versucht, die Java-ArrayList etwas komfortabler zu gestalten
So geben Sie den Wert aus, wenn sich ein Array im Array befindet
Ersetzen Sie durch einen Wert entsprechend der Übereinstimmung mit einem regulären Java-Ausdruck
[Java] So suchen Sie mit der Methode includes nach Werten in einem Array (oder einer Liste)
Die Geschichte, zu vergessen, eine Datei in Java zu schließen und zu scheitern
Eine Geschichte, der ich beim Testen der API mit MockMVC verfallen war
Eine Geschichte über das JDK in der Java 11-Ära
[Java] Verschiedene Methoden, um den in List gespeicherten Wert durch iterative Verarbeitung zu ermitteln
Initialisieren Sie das Ruby-Array mit 0 für Java, dh setzen Sie den Standardwert auf 0
Die Geschichte des Versuchs, JAVA File zu bedienen
Eine Geschichte, die die Implementierung der SendGrid-Java-Bibliothek bestätigt, wenn die E-Mail-Zustellung fehlschlägt
[Java] Wenn Sie eine Zeichenfolge in die switch-Anweisung einfügen, müssen Sie sie zu einem konstanten Ausdruck machen
(Java) Implementieren von equals () für eine Klasse mit durch Vererbung hinzugefügten Wertelementen
Speichern von Dateien mit der angegebenen Erweiterung unter dem in Java angegebenen Verzeichnis in der Liste
Beim Einfügen von Java in MySQL erhalten Sie Auto_Increment_ID (automatischer Nummerierungswert) als Rückgabewert
Eine Warnung wird angezeigt, wenn versucht wird, eine große Ganzzahl mit den speziellen Variablen $ 1, $ 2, $ 3 ... zu verwenden.
java: Wie schreibe ich eine generische Typliste? [Hinweis]
[Java] So erhalten Sie den Maximalwert von HashMap
[Java] Beim Schreiben der Quelle ... Memorandum ①
Beim Zuweisen zu einem Array wird ein Nullwert eingegeben
Die Geschichte, dass .java auch in Unity 2018 erstellt wurde
Eine Geschichte über die Verwendung einer HTTP-Ablaufverfolgung mit Charles, um herauszufinden, welche Anforderungen die Java-Bibliothek an Slack stellt
So führen Sie einen bestimmten Vorgang aus, wenn die Zurück-Taste im Android-Fragment gedrückt wird
So lösen Sie das Problem, wenn der Wert nicht gesendet wird, wenn das Formular in Schienen deaktiviert und gesendet wird
Wenn eine mit dem Atom-Editor erstellte Java-Datei bei der Ausführung an der Eingabeaufforderung verstümmelt wird
Eine Geschichte, die eine Pause einlegte, wenn sie Linked List mit einem leichten Gefühl benutzte
[Docker] Ist es gut genug, um es als mehrstufigen Build zu bezeichnen? → Die Geschichte, die so gut wurde
So reduzieren Sie die Programmlast ein wenig, wenn Sie Zeichen mit JAVA kombinieren
[Schienen] Was tun, wenn die Ansicht zusammenbricht, wenn eine Nachricht mit der Fehlermethode angezeigt wird?
Fehler beim Erstellen der Java Virtual Machine bei der Installation von Eclipse.
Wann wird der Standardwert ohne explizite Initialisierung automatisch eingegeben?
(Kleine Geschichte) Numerischer Wert → einfache Konvertierungsmethode des Alphabets (Java)
20190803_Java & k8s on Azure Die Geschichte vom Festivalbesuch
Ich möchte eine Liste mit Kotlin und Java erstellen!
Erstellen Sie eine Methode, um den Steuersatz in Java zurückzugeben
Informationen zum Verhalten beim Erstellen einer Dateizuordnung mit Java
[Swift] Ermittelt das Timing, wenn der Wert von textField geändert wird
Ein Memorandum, um den juckenden Ort für Java Gold zu erreichen
Die Geschichte, Java mithilfe der BitBucket-Pipeline nach Heroku zu bringen
Eine Geschichte über Missverständnisse im Umgang mit Java-Scannern (Memo)
Die Geschichte, nach der ich beim Einrichten von STS süchtig war
Was tun, wenn javax.el.ELException: Kein gültiger Methodenausdruck: wird angezeigt, wenn der JSF-Bildschirm angezeigt wird
9 Entspricht dem Rückgabewert
Ein Beispiel für kleine Arbeiten, bei denen Sie den Definitionswert nach der Umgebung aufteilen möchten, sich dessen jedoch nicht bewusst sein möchten
Was ist eine Java-Sammlung?
5. Tag von Java
Eingabe in die Java-Konsole
So identifizieren Sie den Pfad, auf dem leicht Fehler gemacht werden können
[Java small story] Überwachen Sie, wann der Liste ein Wert hinzugefügt wird
So ändern Sie den Wert einer Variablen an einem Haltepunkt in IntelliJ
[Ubuntu 20.04] Was tun, wenn der externe Monitor nicht erkannt wird?
Auf Anforderung wird der Zugriff auf die Ressource beim Push mit Docker verweigert
Eine Geschichte, die ich mit Java nur schwer herausfordern konnte
Wenn die von JNA an C ++ übergebene Zeichenfolge verstümmelt ist
Eine lustige Geschichte, die beim Import von fx-clj in einem Chaos steckt
Maßnahmen gegen das Vergessen, die Schriftart anzugeben, wenn titleTextAttributes angegeben wird
[Java] Das Hinzufügen eines Elements zur Sammlung führt zu einem Kompilierungsfehler
[Java Servlet] Die Straße von Senri ist auch der zweite Schritt vom ersten Schritt
Herstellen einer Verbindung zu einer Datenbank mit Java (Teil 1) Möglicherweise die grundlegende Methode