不在声明中时,数组初始化语法我可以写:AClass[] array = {object1, object2}我也可以写:AClass[] array = new AClass[2];...array[0] = object1;array[1] = object2;但我不能写:AClass[] array;...array = {object1, object2};为什么这会被Java阻止?我知道如何解决这个问题,但有时会更简单。例如:public void selectedPointsToMove(cpVect coord) {
if (tab == null) {
if (arePointsClose(coord, point1, 10)) {
cpVect[] tempTab = {point1};
tab = tempTab;
} else if (arePointsClose(point2, coord, 10)) {
cpVect[] tempTab = {point2};
tab = tempTab;
} else {
cpVect[] tempTab = {point1,point2};
tab = tempTab;
}
}}自从我学习如何用Java处理数组以来,这个简单的问题一直困扰着我。
3 回答

动漫人物
TA贡献1815条经验 获得超10个赞
为什么这会被Java阻止?
我知道如何解决这个问题,但有时会更简单。
AClass[] array;...array = new AClass[]{object1, object2};

阿波罗的战车
TA贡献1862条经验 获得超6个赞
ArrayList<String> al = new ArrayList<String>(); al.add("one"); al.add("two"); String[] strArray = (String[]) al.toArray(new String[0]);
添加回答
举报
0/150
提交
取消