program story

Java에서 문자열 배열 초기화

inputbox 2020. 9. 24. 07:47
반응형

Java에서 문자열 배열 초기화 [중복]


이 질문에 이미 답변이 있습니다.

String배열을 선언하면 :

String names[] = new String[3];

그러면 위에서 선언 한 배열에 다음과 같이 값을 할당 할 수없는 이유는 무엇입니까?

names = {"Ankit","Bohra","Xyz"};

선언하는 동안 다음을 수행 할 수 있습니다.

String names[] = {"Ankit","Bohra","Xyz"};

그리고 선언 후 어딘가에서 이것을하고 싶다면 :

String names[];
names = new String[] {"Ankit","Bohra","Xyz"};

names[] = {"Ankit","Bohra","Xyz"};

이니셜 라이저하여 사용 만으로 구성하거나 만들 때 새로운 어레이 오브젝트. 어레이 설정 하는 데 사용할 수 없습니다 . 다음과 같이 선언 할 때 사용할 수 있습니다.

String[] names= {"Ankit","Bohra","Xyz"};

다음을 사용할 수도 있습니다.

names=new String[] {"Ankit","Bohra","Xyz"};

우선, 이것은와 아무 관련이 없습니다 String. 그것은 배열에 관한 것입니다. 그리고 그것은 배열의 선언적 초기화에 관한 것입니다.

거의 모든 답변에서 모든 사람이 논의했듯이 변수를 선언하면서 다음을 사용할 수 있습니다.

String names[] = {"x","y","z"};

그러나 배열의 인스턴스를 할당하려면 선언 후 :

names = new String[] {"a","b","c"};

AFAIK, 선언 구문 은 단지 구문 적 설탕 일 뿐이며 값을 할당 할 때 인스턴스를 올바르게 생성해야하므로 변수에 값을 할당 할 때 더 이상 적용 할 수 없습니다.

그러나 그 이유를 묻는다면? 글쎄요 ... 그에 대한 답을 얻으시길 바랍니다. 자바위원회의 누군가가 그것에 대답하거나 상기 구문 설탕을 인용하는 명시적인 문서가 없다면 .


의미 :

String names[] = {"Ankit","Bohra","Xyz"};

그러나 선언 할 때 동일한 명령문에서만이를 수행 할 수 있습니다.


유효한 Java 구문이 아닙니다. 넌 할 수있어

names = new String[] {"Ankit","Bohra","Xyz"};

참고 URL : https://stackoverflow.com/questions/17515096/string-array-initialization-in-java

반응형