Как вы дублируете эту функцию в Java?
В C # вы можете использовать ключевое слово params для указания списков переменных параметров для функций.
params
Как вы это делаете на Java?
Или вам приходится прибегать к множественным перегрузкам?
C # код:
double Average(params double[] nums) { var sum = 0.0; foreach(var num in nums) sum += num; return sum / nums.Length; }
Эквивалентный код Java:
double average(double... nums) { double sum = 0.0; for(double num : nums) sum += num; return sum / nums.length; }
Эта функция называется varargs. Подробнее об этом можно прочитать здесь .
Параметры для переменных функций (" varargs " на языке Java) отображаются в теле функции Java в виде массива. Пример из записи в Википедии прекрасно иллюстрирует это:
public static void printSpaced(Object... objects) { for (Object o : objects) System.out.print(o + " "); } // Can be used to print: printSpaced(1, 2, "three");
Вы можете использовать .... Например:
...
public void foo(int... args) { for (int arg : args) { // do something } }
В Java вы можете использовать varargs . Но это работает только для 1.5 или более новых версий.
1.5