본문 바로가기
IT/JAVA

Effective Java 2 - 규칙25 - "배열 대신 리스트를 써라"

by 최고영회 2016. 8. 6.
728x90
반응형
SMALL

아래의 코드는 문법적으로는 문제가 없다.

// 실행 중에 문제를 일으킴 Object[] objectArr = new Long[1];l objectArr[0] = "I am younghoi kim"; // ArrayStoreException 발생

하지만 아래의 코드는 아예 컴파일이 되지 않는다.

// 컴파일 되지 않는 코드 List<Object> oList = new ArrayList<Long>(); // 자료형 불일치 oList.add("I am younghoi kim");

둘다 자료형 안에 String 객체를 넣을 수 없다는 것은 동일하다.
컴파일 시에 문제를 발견하는 편이 더 낫다.

성능이 저하되고나 코드가 길어질 수는 있겠으나, 형 안전성과 호환성은 좋아진다.

만일 배열과 제네릭을 뒤섞어 쓰다가 컴파일 오류나 경고 메시지를 만나게 되면,
배열을 리스트로 바꿔야겠다는 생각이 본능적으로 들어야 한다.



728x90
반응형
LIST