> Java > java지도 시간 > 선언 외부에서 Java 배열을 직접 초기화할 수 없는 이유는 무엇입니까?

선언 외부에서 Java 배열을 직접 초기화할 수 없는 이유는 무엇입니까?

Linda Hamilton
풀어 주다: 2024-12-12 19:56:11
원래의
282명이 탐색했습니다.

Why Can't I Directly Initialize Java Arrays Outside of Declarations?

선언 외부의 배열 초기화 구문 이해

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿