초기화되지 않은 배열 할당 구문
Java는 선언 내에서 배열의 간결한 초기화를 허용합니다.
AClass[] array = {object1, object2};
그러나 중괄호를 사용하여 초기화되지 않은 배열을 할당하면 컴파일러가 실행됩니다. 오류:
AClass[] array; ... array = {object1, object2}; // Error
제한 이유
이 제한의 구체적인 이유는 불분명합니다. 문법이 복잡하거나 Java 구문의 일관성을 유지하려는 욕구 때문일 수 있습니다.
해결 방법
간결하지는 않지만 새 배열을 사용하여 초기화되지 않은 배열을 초기화할 수 있습니다. 연산자를 사용한 다음 명시적으로 요소를 할당합니다.
AClass[] array; ... array = new AClass[2]; ... array[0] = object1; array[1] = object2;
단순화 예
제공된 코드 조각에서 이 해결 방법을 사용하면 배열 초기화 논리가 단순화됩니다.
public void selectedPointsToMove(cpVect coord) { if (tab == null) { if (arePointsClose(coord, point1, 10)) tab = new cpVect[]{point1}; else if (arePointsClose(point2, coord, 10)) tab = new cpVect[]{point2}; else tab = new cpVect[]{point1, point2}; } }
위 내용은 Java가 중괄호를 사용하여 초기화되지 않은 배열 할당을 방지하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!