Détails
Quelle est la façon la plus simple d'imprimer un tableau Java ?
En Java, les tableaux ne surchargent pas toString()
, donc si vous essayez d'en imprimer un directement, vous obtenez le className
+ '@' ; + l'hexagone du [hashCode
][1] du tableau, comme défini par Object.toString()
:
int[] intArray = new int[] {1, 2, 3, 4, 5};
System.out.println(intArray); // prints something like '[I@3343c8b3'
Mais en général, nous voulons plutôt quelque chose comme [1, 2, 3, 4, 5]
. Quelle est la façon la plus simple de le faire ? Voici quelques exemples d'entrées et de sorties :
// Array of primitives:
int[] intArray = new int[] {1, 2, 3, 4, 5};
//output: [1, 2, 3, 4, 5]
// Array of object references:
String[] strArray = new String[] {"John", "Mary", "Bob"};
//output: [John, Mary, Bob]
1838
3
Depuis Java 5, vous pouvez utiliser [
Arrays.toString(arr)
][1] ou [Arrays.deepToString(arr)
][2] pour les tableaux dans les tableaux. Notez que la versionObject[]
appelle.toString()
sur chaque objet du tableau. La sortie est même décorée de la manière exacte que vous demandez.Exemples :
Tableau simple :
Sortie :
Tableau imbriqué :
Sortie :
double
Tableau :Sortie :
int
Tableau :Sortie :
[1] : https://docs.oracle.com/javase/9/docs/api/java/util/Arrays.html#toString-int:A- [2] : https://docs.oracle.com/javase/9/docs/api/java/util/Arrays.html#deepToString-java.lang.Object:A-
Vérifiez toujours les bibliothèques standard en premier. Essayez :
ou si votre tableau contient d'autres tableaux comme éléments :
Si vous utilisez Java 1.4, vous pouvez plutôt faire :
(Cela fonctionne aussi en 1.5+, bien sûr).