Java에서 배열 초기화는 특히 선언 내에서 사용될 때 매우 간단할 수 있습니다. 그러나 선언 외부에서 배열을 초기화하려고 하면 다음 시나리오에서 볼 수 있듯이 특정 구문 제한이 나타납니다.
AClass[] array = {object1, object2}; // Valid
AClass[] array = new AClass[2]; ... array[0] = object1; array[1] = object2; // Also valid
그러나 선언 외부에서 다음 구문을 사용하는 경우:
AClass[] array; ... array = {object1, object2};
이 초기화가 허용되지 않음을 나타내는 오류 메시지가 나타납니다. Java가 이에 대해 그렇게 엄격한 이유는 무엇입니까?
이유는 다소 임의적입니다. Java 설계자가 이러한 제한에 대해 특정 문법적 또는 역사적 정당성을 갖고 있었을 수 있기 때문입니다. 특정 구문 규칙이 존재하는 이유가 항상 명확하지는 않지만 성공적인 코드 실행을 위해서는 이를 준수하는 것이 필수적입니다.
때때로 불편할 수 있지만 선언 외부에서 배열을 초기화하는 해결 방법이 있습니다. 예를 들어 다음 구문이 작동합니다.
AClass[] array; ... array = new AClass[]{object1, object2};
따라서 Java는 선언 외부의 배열 초기화에 일부 제약을 적용할 수 있지만 원하는 결과를 얻을 수 있는 대체 방법을 제공합니다.
위 내용은 선언 외부에서 Java 배열을 직접 초기화할 수 없는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!