[Java] 다이아몬드 연산자(Diamond Operator, Java 1.7부터 추가)

cateto·2021년 1월 15일
0
post-thumbnail
// jdk 7 이전 : 선언시에도 제네릭에 타입을 명시해야함.
List<Integer> list = new ArrayList<Integer>();

Map<String, List<String>> map = new HashMap<String, List<string>>();
// jdk 7 이후(타입추론) : 다이아몬드 연산자 사용으로 컴파일러가 알아서 추론한다. 
List<Intger> list = new ArrayList<>();

Map<String, List<String>> map = new HashMap<>();

jdk 5 이후 보다 안전하게 자료형을 처리할 수 있도록 Generic이 도입되었다.

그러나 코드를 더욱 쉽게 읽게 하기 위해서 jdk7에서는 타입추론을 가능하게 <>다이아몬드 연산자로 처리 가능한 문법이 도입되었다.

cf. 다만 jdk 7, 8의 경우 익명 내부 클래스의 선언에서는 다이아몬드 연산자 사용이 불가능하다. jdk 9 이후는 가능.

참고 : https://grokonez.com/java/java-9-diamond-operator-for-anonymous-inner-classes
https://sodocumentation.net/ko/java/topic/92/%EC%A0%9C%EB%84%A4%EB%A6%AD

profile
Curious for Everything

0개의 댓글