我可以写:
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;
}
}
}
This simple question that has been bugging me since I learned how to play with arrays in Java.
为什么这会被 Java 阻止?
你得去问 Java 设计者。该限制可能存在一些微妙的语法原因。请注意,Java 1.0 中没有一些数组创建/初始化构造,而 (IIRC) 是在 Java 1.1 中添加的。
但“为什么”并不重要……限制是存在的,你必须忍受它。
我知道如何解决这个问题,但有时它会更简单。
你可以这样写:
AClass[] array;
...
array = new AClass[]{object1, object2};
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)