[Petite histoire Java] Surveiller lorsqu'une valeur est ajoutée à la liste

Une petite histoire pour le débogage. Comment suivre lorsqu'une valeur est ajoutée à une liste.

public class Foo {

   public List<String> list = new ArrayList<>();

}

Si vous souhaitez surveiller lorsqu'une valeur est ajoutée à une liste comme celle ci-dessus, vous pouvez la réécrire dans une classe anonyme et remplacer la méthode ʻadd` comme indiqué ci-dessous pour générer un journal lorsque la valeur est ajoutée ou traiter à un point d'arrêt. Vous pouvez l'arrêter.

public class Foo {

   public List<String> list = new ArrayList<String>() {

      @Override
      public boolean add(String string) {
         //Si vous ajoutez un point d'arrêt ici, vous pouvez arrêter le processus lorsque la valeur est ajoutée.
         System.out.println("ajoutée:" + string);
         return super.add(string);
      }

   };

}

Non seulement ʻadd mais aussi d'autres traitements tels que remove` peuvent être étendus. Pour un petit débogage seulement.

au fait

Les listes peuvent être initialisées à l'aide de classes anonymes et de blocs d'initialisation.

List<String> list = new ArrayList<String>();		
list.add("1");
list.add("2");
list.add("3");

Ce qui précède peut être écrit comme suit.

List<String> list = new ArrayList<String>() {{
   add("1");
   add("2");
   add("3");
}};

Bien que le nombre de types soit légèrement réduit, il n'est pas convivial pour les débutants, il n'est donc pas recommandé de l'utiliser en développement d'équipe (je pense que ce n'est généralement pas fait ...)

Recommended Posts

[Petite histoire Java] Surveiller lorsqu'une valeur est ajoutée à la liste
[Petite histoire] J'ai essayé de rendre java ArrayList un peu plus pratique
Comment afficher la valeur lorsqu'il y a un tableau dans le tableau
Remplacer par une valeur selon la correspondance avec une expression régulière Java
[Java] Comment rechercher des valeurs dans un tableau (ou une liste) avec la méthode contains
L'histoire de l'oubli de fermer un fichier en Java et de l'échec
Une histoire à laquelle j'étais accro lors du test de l'API à l'aide de MockMVC
Une histoire sur le JDK à l'ère de Java 11
[Java] Différentes méthodes pour acquérir la valeur stockée dans List par traitement itératif
Initialiser le tableau Ruby avec 0 comme Java, c'est-à-dire définir la valeur par défaut sur 0
Histoire d'essayer de faire fonctionner le fichier JAVA
Une histoire confirmant l'implémentation de la bibliothèque Java SendGrid lorsque la livraison du courrier échoue
[Java] Lors de la mise d'une chaîne de caractères dans le cas de l'instruction switch, il est nécessaire d'en faire une expression constante
(Java) Comment implémenter equals () pour une classe avec des éléments de valeur ajoutés par héritage
Comment enregistrer des fichiers avec l'extension spécifiée sous le répertoire spécifié en Java dans la liste
Lors de l'insertion de Java vers MySQL, obtenez Auto_Increment_ID (valeur de numérotation automatique) comme valeur de retour
Un avertissement s'affiche lorsque vous essayez d'utiliser un entier énorme avec les variables spéciales $ 1, $ 2, $ 3 ...
java: Comment écrire une liste de types génériques [Note]
[Java] Comment obtenir la valeur maximale de HashMap
[Java] Lors de l'écriture du source ... Mémorandum ①
Une valeur nulle est entrée lors de l'affectation à un tableau
L'histoire que .java est également construite dans Unity 2018
Une histoire de prise d'une trace HTTP à l'aide de Charles pour savoir quelles demandes la bibliothèque Java fait à Slack
Comment effectuer un processus spécifique lorsque le bouton de retour est enfoncé dans le fragment Android
Comment résoudre le problème lorsque la valeur n'est pas envoyée lorsque le formulaire est désactivé dans les rails et envoyé
Lorsqu'un fichier Java créé avec l'éditeur Atom est déformé lorsqu'il est exécuté à l'invite de commande
Une histoire qui a fini par prendre une pause lors de l'utilisation de la liste liée avec une sensation de légèreté
[Docker] Est-il suffisant de l'appeler une construction en plusieurs étapes? → L'histoire qui est devenue si bonne
Comment réduire même un peu la charge du programme lors de la combinaison de caractères avec JAVA
[Rails] Que faire lorsque la vue se réduit lorsqu'un message est affiché avec la méthode des erreurs
Échec de la création de la machine virtuelle Java lors de l'installation d'Eclipse.
Quand la valeur par défaut est-elle automatiquement saisie sans initialisation explicite?
(Petite histoire) Valeur numérique → méthode de conversion simple de l'alphabet (Java)
20190803_Java & k8s sur Azure L'histoire d'aller au festival
Je veux faire une liste avec kotlin et java!
Créer une méthode pour renvoyer le taux de taxe en Java
À propos du comportement lors de la création d'un mappage de fichiers avec Java
[Swift] Obtenez le moment où la valeur de textField est modifiée
Un mémorandum pour atteindre le lieu qui démange pour Java Gold
L'histoire de la transmission de Java à Heroku à l'aide du pipeline BitBucket
Une histoire de malentendu sur l'utilisation du scanner Java (mémo)
L'histoire à laquelle j'étais accro lors de la création de STS
Que faire lorsque javax.el.ELException: Pas une expression de méthode valide: s'affiche lorsque l'écran JSF est affiché
9 Correspond à la valeur de retour
Un exemple d'astuce lorsque vous souhaitez diviser la valeur de la définition en fonction de l'environnement mais ne voulez pas en être conscient
Qu'est-ce qu'une collection Java?
5ème jour de Java
Entrée dans la console Java
Comment identifier le chemin sur lequel il est facile de se tromper
[Petite histoire Java] Surveiller lorsqu'une valeur est ajoutée à la liste
Comment changer la valeur d'une variable à un point d'arrêt dans intelliJ
[Ubuntu 20.04] Que faire si le moniteur externe n'est pas reconnu
Lorsque l'accès demandé à la ressource est refusé lors de la transmission avec Docker
Une histoire que j'ai eu du mal à défier le pro de la concurrence avec Java
Lorsque la chaîne de caractères transmise au C ++ par JNA est déformée
Une histoire amusante coincée dans le désordre lors de la tentative d'importation de fx-clj
Mesures contre l'oubli de spécifier la police lorsque titleTextAttributes est spécifié
[Java] L'ajout d'un élément à la collection provoque une erreur de compilation
[Servlet Java] La route de Senri est aussi la deuxième étape de la première étape
Connexion à une base de données avec Java (partie 1) Peut-être la méthode de base