Array constants can only be used in initializers
배열 상수는 초기화에 사용할 수 있습니다.
[배열 선언]
String[] arr = new String [3]; //배열 선언
arr = {"XX", "YY, "ZZ"}; //배열 초기값
일반적으로 자바에서 선언 하는 방식입니다.
String[] arry = {"XX", "YY, "ZZ"};
이 방식은 자바 표준 선언 방식이 아닙니다.
이 코드는 다른 언어 (C언어) 등을 사용하는 사람들을 위해 호환성을 살린 부분 이라고 합니다.
자바는 C언어처럼 포인터를 직접 사용하지 않기 때문에 객체 선언 new 를 사용하여 동적 메모리 할당 영역에 메모리를 잡는 방법을 사용합니다.
[정규식]
String[] arry = new String []{"XX", "YY", "ZZ"};
위와 같이 선언이 정규식 코드 방식입니다.
String[] arry = {"XX", "YY, "ZZ"}; 식이 비정규식인지를 확인 해 볼수 있는 코드 구분을 예로 들어 보겠습니다.
IF구문을 이용해서 확인해 볼수 있습니다.
int ifvalue = 1;
String[] arry = null;
if ( ifvalue ==0) {
arry = {"XX", "YY, "ZZ"};
}else{
arry = {"XX1", "YY1, "ZZ1"};
}
이화 같이 선언을 해도 에러가 없을 것 같지만 바로 빨간 줄이 들어옵니다.
요즘은 좋은 툴들이 많아서 이클립스 등의 툴로 위 와 같이 코드를 쓰면 바로 오류인걸 확인 할 수 있습니다.
위코드는 다음과 같이 수정을 하면 됩니다.
int ifvalue = 1;
String[] arry = null;
if ( ifvalue ==0) {
arry = new String []{"XX", "YY, "ZZ"};
}else{
arry = new String []{"XX1", "YY1, "ZZ1"};
}
new String[] 구분을 넣어 주면 바로 코드를 정상으로 인식합니다.
이 간단한 코드로 어떤 표현이 정규식인지 바로 알 수 있습니다.
'경험치바(Experience Opint Bar)' 카테고리의 다른 글
이클립스 TOMCAT JNDI 설정 방법 (0) | 2018.08.24 |
---|---|
이클립스 스프링 JNDI 설정 방법 (0) | 2018.08.24 |
이클립스(Eclipse) 실행 시 Build workspace (빌드) 느릴때(멈춤) 해결 방법 - vailidation (2) | 2018.08.22 |
이클립스 콘솔(Eclipse console) 로그 출력창 라인수 늘리는 방법 (0) | 2018.08.21 |
온라인으로 동영상 파일 크기 줄이는 방법 (2) | 2018.08.20 |