J'ai vu un argument de ... (3 points) dans la source Java.
java:Quoi...Quoi?
private static void printArgs(String description, Object... args) {
for (Object object : args) {
System.out.println(object);
}
}
Les arguments de longueur variable peuvent spécifier plusieurs arguments du type spécifié.
Essayez de spécifier l'argument
//C'est acceptable
printArgs("Un", "Plusieurs");
//C'est aussi OK
printArgs("Deux", "Plusieurs", "La désignation");
//C'est aussi OK
printArgs("Trois", "Plusieurs", "La désignation", true);
//C'est acceptable
printArgs("Aucun");
résultat
Un:Plusieurs
Deux:Désignation multiple
Trois:Spécification multiple vraie
Aucun:
La compilation d'une méthode d'argument de longueur variable produit un tableau.
Après compilation
public void methodName(String description, Object[] vars)
Contenu de la méthode.
}
Vous pouvez également spécifier un tableau comme argument
//C'est acceptable
methodName("Tableau", new int[]{1,2,3,4,5});
//Même ça va
methodName("Array et un", new int[]{1,2,3,4,5}, "Plusieurs");
** Ne surchargez pas avec un tableau comme argument ** Raison: il en sera de même une fois compilé
Ne surchargez pas avec un tableau comme argument
public void methodName(String description, Object... vars)
Contenu de la méthode.
}
public void methodName(String description, Object[] vars)
Contenu de la méthode.
}
** L'argument de longueur variable doit être spécifié à la fin ** Raison: peut-être parce que vous ne savez pas quelle est la valeur spécifiée pour l'argument de longueur variable
L'argument de longueur variable doit être spécifié à la fin
//J'obtiens une erreur de compilation avec args, et j'obtiens ce message avec Eclipse.(Traduction approximative:Écrivez l'argument de longueur variable à la fin)
// 「The variable argument type Object of the method printArgs must be the last parameter」
private static void printArgs2(Object... args, String description) {
Contenu de la méthode.
}
** Un seul argument de longueur variable peut être spécifié ** Raison: Vous ne savez peut-être pas où se trouve le premier, et le premier argument de longueur variable n'est pas spécifié à la fin.
Un seul argument de longueur variable peut être spécifié
//J'obtiens une erreur de compilation avec args2, et j'obtiens ce message avec Eclipse.
// 「The variable argument type Object of the method printArgs must be the last parameter」
private static void printArgs2(String description, String... args2, Object... args) {
Contenu de la méthode.
}
//Cela n'entraînera pas d'erreur de compilation
private static void printArgs2(String description, String[] args2, Object... args) {
Contenu de la méthode.
}
Recommended Posts