Je voudrais obtenir le texte de chaîne des éléments stockés dans une liste, disons Liste
8 Réponses :
Oui, mais le faisant manuellement vous donne plus de contrôle: si vous n'avez pas remplacé la méthode tostring () code> ou ne voulez pas remplacer Vous pouvez utiliser
car.getname () code> au lieu de
voiture.tostring () code> (ou une combinaison de propriété que vous aimez) p> p> p>
public class Car { private String carName; .... .... public String toString() { return carName; } }
Il y a un Tostring statique (objet []) code> Méthode an
Java.Util.arrays code>. L'appelant avec le
toarray () code> résultat de la liste (comme vous l'avez suggéré) devrait faire le travail. P>
Pourquoi ne pas simplement appeler Tostring () sur la liste directement?
@ADAMSKI: La liste d'interface ne définit pas un contrat pour Tostring ().
Il y a aussi deeptostring () code> si nécessaire
Fournir que vous n'obposez pas à la sortie de la chaîne après la convention:
[A, B, C]
Comment pouvez-vous être sûr que la sortie ressemblera à cela? La liste est juste une interface et il n'y a pas de contrat sur la sortie de la méthode ToString () dans la liste.
@Dominik: C'est un point juste, mais je devinerais que dans 99,9% des cas, les personnes ont tendance à utiliser les implémentations de la liste JDK, qui produisent ce style de production. J'ai tendance à utiliser cette sortie pour la journalisation de débogage, mais je ne voudrais jamais sur elle pour la logique de la présentation.
C'est la bonne approche iMho tel qu'il vient de AbstractCollection # Tostring Quelles implémentations devraient s'étendre de et les types de collecte dans le JDK le font.
Une autre idée est d'utiliser le Apache Commons Lang pour écrire le code suivant: L'intérêt est que vous pouvez également fournir un séparateur, par exemple: p>
Convertissez d'abord votre liste (collection) à un tableau et créez une chaîne de chaque élément.
Arrays.toString(myCollection.toArray());
Vous pouvez utiliser java 8 se référer javadoc sur flux code>
Collectors code> Pour plus d'informations. P> P>
J'ai posté quelques exemples supplémentaires de collectionneurs.Joining () dans une réponse séparée. C'était un peu beaucoup pour une édition! N'hésitez pas à copier ma réponse dans la vôtre afin que ce soit au même endroit, si vous le souhaitez. Je vais ensuite supprimer ma réponse.
Je ne veux pas donner une réponse séparée de Hkbharath, qui est une bonne réponse, mais je veux donner plus d'exemples d'utilisation des flux Java 8. Les collectionneurs.Joining () a quelques variantes surchargées différentes.
Disons que le code dans son exemple: p> vous donne ceci: Ford, Honda, Buick < / p> alors si vous n'avez pas besoin d'un délimiteur: p> vous donnerait à la place: FORDHONDABUICK P> et voici un exemple prolongé montrer comment manipuler chaque chaîne, modifier le délimiteur et ajouter un préfixe et un suffixe: p> vous donnerait à la place: [Ford; Honda; Buick] p> p>