2010-03-30 5 views
4

Comment dupliquer cette fonctionnalité dans Java? En C#, vous pouvez utiliser le mot-clé params pour spécifier des listes de paramètres variables pour les fonctions.Paramètres de la variable Java

Comment faites-vous cela en Java?

Ou devez-vous recourir à des surcharges multiples?

Répondre

9

code C#:

double Average(params double[] nums) { 
    var sum = 0.0; 
    foreach(var num in nums) 
    sum += num; 
    return sum/nums.Length; 
} 

code Java équivalent:

double average(double... nums) { 
    double sum = 0.0; 
    for(double num : nums) 
    sum += num; 
    return sum/nums.length; 
} 

Cette caractéristique est connue sous le nom varargs. Vous pouvez en savoir plus à ce sujet here.

3

Les paramètres fonctions variées ("varargs" dans Java-speak) sont exposés au corps de la fonction Java sous la forme d'un tableau. L'exemple de la Wikipedia entry illustre parfaitement:

public static void printSpaced(Object... objects) { 
    for (Object o : objects) 
    System.out.print(o + " "); 
} 

// Can be used to print: 
printSpaced(1, 2, "three"); 
+0

+1 pour les fonctions variées ... :) – PermGenError

2

Vous pouvez utiliser .... Par exemple:

public void foo(int... args) { 
    for (int arg : args) { 
    // do something 
    } 
} 
0

En Java, vous pouvez utiliser varargs. Mais cela ne fonctionne que pour 1.5 ou versions plus récentes.

Questions connexes