본문 바로가기

Java

다이아몬드 연산자 (Diamond operator, JAVA 7 부터 추가)


Java7 이전에는 generic을 사용할때 


//Case 1.
List<Integer> list = new LinkedList();
//Case 2.
List<Integer> list = new LinkedList<Integer>();

와 같이 선언 해서 사용했다


Case 1. 의 경우엔 Integer를 저장하기로 선언 했지만 LinkedList로 초기화 할때는 별다른 조건을(generic) 안 걸었으니 LinkedList에 String 이나 Integer나 아무 타입이나 막 집어 너어도 컴파일 에러가 나지 않는다. 다만 런타임 에러가 날뿐...


그래서 Case 2. 처럼 명확하게 선언, 초기 화 해주는게 좋은데


Java 7 부터는 다이아몬드 연산자 라고 해서 좀 더 편하게 사용 할 수 있어 졌다.

(Java 7 부터는 Case 1. 처럼 하면 컴파일 시 경고가 뜬다.)


사용법 은 아래와 같다.

List<Integer> list = new LinkedList<>();



간단하다