ToString()

Fermé
helloworld95 - 8 févr. 2018 à 23:36
KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 - 8 févr. 2018 à 23:54
Bonjour,

Je dois afficher les informatios d'un tableau, j'ai un tableau de String, cependant j'aimerai en parcourant mon tableau ne pas afficher les String vide ("vide ").
Exemple , voici le contenu de mon tableau: [un] [deux] ["vide "] [quatre]
J'aimerai que mon toString() affiche , un deux quatre.

Merci



1 réponse

KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015
8 févr. 2018 à 23:54
Bonjour,

Il y a plusieurs manière de faire, tout dépend de ton niveau...
  • il y a la version "scolaire" avec un StringBuilder, une boucle for, et un if
  • ou la version un peu plus high tech avec les Stream.

Comme je pense que tu trouveras facilement la version scolaire, je me limiterais aux Stream :

private String[] array = { "un", "deux", null, "quatre" }; // [un, deux, quatre]

@Override
public String toString() {
    return Arrays.stream(array)   // import java.util.Arrays;
        .filter(Objects::nonNull) // import java.util.Objects;
        .collect(Collectors.joining(", ", "[", "]")); // import java.util.stream.Collectors;
}
0