Comment créer une println/méthode d'impression pour une classe personnalisée
Je travaille en Java sur un projet qui m'oblige à faire un peu de "container" classes, si vous voulez. Voici une version simple d'un:
public class Pair{
Object KEY;
Object VALUE;
public Pair(Object k, Object v)
{
KEY = k;
VALUE = v;
}
public Object getKey()
{ return KEY; }
public Object getValue()
{ return VALUE; }
}
(Attention, il est fortement simplifié et je suis en utilisant les bonnes méthodes set/get dans la version finale.)
Ma question est: est-ce
Lors de l'appel de la méthode println avec une liste de tableaux en tant que paramètre, par exemple:
ArrayList<String> arr = new ArrayList<String>();
arr.add("one");
arr.add("two");
System.out.println(arr);
Java automatiquement sait comment imprimer chaque "nœud" ou sur l'élément de la liste de tableaux correctement.
Est-il un moyen d'écrire une méthode pour permettre à l'println méthode pour imprimer correctement ma Paire de classe?
Vous devez vous connecter pour publier un commentaire.
Vous aurez besoin de remplacer la
toString
méthode et de retourner une représentation de chaîne de ce que vous voulez.Ainsi, par exemple:
Que vous pouvez effectuer les opérations suivantes:
Vous avez besoin de remplacer
toString()
:public String toString()
Vous pouvez remplacer le
toString()
méthode de votre classe personnalisée et d'imprimer toutes les informations que vous souhaitez.Vous pouvez étendre
ArrayList
et remplacer letoString()
méthode:Mais c'est exagéré. Je voudrais juste écrire un utilitaire d'impression de la méthode.
Vous devrez définir un
toString()
méthode. Elle est appelée automatiquement parSystem.out.println(Object o)
. LeArrayList
classe a un substituéetoString()
méthode qui fournit un bien mis en forme de la représentation.Fondamentalement, remplaçant Objet.toString avec votre propre définition est tout ce qui est nécessaire.
Imprime:
123 Ce Saint
Gros Thons, Texas
456 Saint
Phoenix, Arizona