我可以写:
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中使用数组以来,这个简单的问题一直困扰着我。
{o1()}
是一个有效的表达式,而{o1();}
是一个有效的语句块,那么会让人感到困惑,并且很难分析。解析器必须先读取到' } '或'; ',然后才能区分这两种情况。这个语法问题一点也不微妙! - Stephen C