Я попытался передать список инициализации {...} в конструктор, и это не сработало. Когда я вместо этого объявил его в локальной переменной метода (int []), она работала безупречно.Почему метод {a, b, c} не работает?
Почему?
public class QuickSort {
int[] a;
public QuickSort(int[] a) {
this.a = a;
}
public static void main(String[] args) {
// ###################
// ### WORKS ##
// ###################
int[] a = {8,12,79,12,50,44,8,0,7,289,1};
QuickSort sort = new QuickSort(a);
// ###################
// ### DOESN'T WORK ##
// ###################
//QuickSort sort = new QuickSort({8,12,79,12,50,44,8,0,7,289,1});
}
}
Как это случилось, то, что стало характерным для функций языка varargs (как java.util.Arrays.asList), изначально собиралось сделать именно это. Вероятно, было ошибкой изменить его ... –