반응형
Java에서 문자열 배열 초기화 [중복]
이 질문에 이미 답변이 있습니다.
- 선언 4 답변에 없을 때 배열 초기화 구문
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
반응형
'program story' 카테고리의 다른 글
Haskell에 꼬리 재귀 최적화 기능이 있습니까? (0) | 2020.09.24 |
---|---|
Google Maps Android API v2를 사용하여 두 지점 사이에 경로 그리기 (0) | 2020.09.24 |
@Autowired 및 정적 메서드 (0) | 2020.09.24 |
Ansible로 Linux 환경 변수를 설정하는 방법 (0) | 2020.09.24 |
파이썬에서 int ()의 직관적이지 않은 동작 (0) | 2020.09.23 |