Tôi đã cố gắng chuyển danh sách khởi tạo {...} cho một hàm tạo và nó không hoạt động. Khi tôi thay vào đó tuyên bố nó trong một biến địa phương phương pháp (int []) nó làm việc hoàn hảo.Tại sao chuyển {a, b, c} sang phương thức không hoạt động?
Tại sao lại như vậy?
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});
}
}
Khi nó xảy ra, những gì đã trở thành các tính năng ngôn ngữ varargs (như java.util.Arrays.asList) ban đầu sẽ làm điều đó. Nó có lẽ là một sai lầm để thay đổi nó ... –