Maison >Java >javaDidacticiel >Comment puis-je transmettre un tableau en tant qu'arguments à une méthode Java avec des arguments variables ?
Passer un tableau en tant qu'arguments à une méthode avec des arguments variables en Java
Problème
L'objectif est de créer une méthode Java qui prend un tableau d'arguments et transmet chaque argument individuel à une méthode avec des arguments variables. Cependant, le problème survient lorsque la signature de la méthode déclare un Object[] au lieu d'arguments séparés, ce qui conduit au traitement du tableau comme un seul argument.
Solution
Oui , il est possible de passer un tableau en arguments à une méthode avec des arguments variables en Java. Ceci est rendu possible par le sucre syntaxique de T... qui est équivalent à T[].
Exemple de code
L'exemple suivant illustre comment y parvenir :
public static String ezFormat(Object... args) { String format = new String(new char[args.length]) .replace("", "[ %s ]"); return String.format(format, args); } public static void main(String... args) { System.out.println(ezFormat("A", "B", "C")); // prints "[ A ][ B ][ C ]" }
Varargs Gotchas
Passant Null
Sachez que passer null à un paramètre varargs peut entraîner un comportement inattendu. Pour éviter les erreurs, vous pouvez transmettre null sous forme de tableau ou comme argument unique.
Ajout d'arguments supplémentaires
Lors du passage d'un tableau à un paramètre varargs et de l'ajout d'arguments supplémentaires , il est nécessaire de créer un nouveau tableau qui contient à la fois l'argument supplémentaire et les éléments du tableau d'origine.
Passage du tableau de Primitives
Varargs ne fonctionne qu'avec des types référence. Pour transmettre un tableau de primitives, convertissez-les dans leurs classes wrapper correspondantes (par exemple, int[] en Integer[]).
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!