Java의 배열 초기화 구문은 선언에 사용되는지 할당에 사용되는지에 따라 다릅니다.
배열을 선언할 때 배열 리터럴은 다음을 수행할 수 있습니다. 요소를 초기화하는 데 사용됩니다.
AClass[] array = {object1, object2};
선언 외부에서 배열은 new 연산자를 사용하여 초기화될 수 있으며 그 뒤에 요소 개수와 후속 할당이 이어집니다.
AClass[] array = new AClass[2]; array[0] = object1; array[1] = object2;
그러나 선언되지 않은 배열 변수에 배열 리터럴을 할당하려는 시도는 금지됩니다.
AClass[] array; ... array = {object1, object2}; // Blocked by Java
이 제한은 즉시 명백하지 않을 수 있는 이유로 Java에서 적용됩니다.
해결 방법으로 다음 구문을 사용할 수 있습니다. 사용됨:
AClass[] array; ... array = new AClass[]{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; } } }
해결 방법이 없으면 코드에 tempTab을 초기화하기 위한 추가 문이 필요합니다. 탭에 할당하기 전에
위 내용은 Java의 배열 할당 구문은 선언 내부와 외부에서 어떻게 다릅니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!