IT/JAVA
Effective Java 2 - 규칙25 - "배열 대신 리스트를 써라"
최고영회
2016. 8. 6. 10:46
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