【发布时间】:2010-11-04 06:53:06
【问题描述】:
我尝试将初始化列表 {...} 传递给构造函数,但没有成功。 当我改为在方法局部变量 (int[]) 中声明它时,它完美地工作。
这是为什么呢?
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});
}
}
【问题讨论】:
-
碰巧的是,可变参数语言特性(如 java.util.Arrays.asList)最初就是这样做的。改变它可能是一个错误......
标签: java arrays syntax array-initialization