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
'IT > JAVA' 카테고리의 다른 글
Ehcache 옵션 정리 (0) | 2018.09.12 |
---|---|
Effective Java 2 - 규칙26 - "가능하면 제네릭 자료형으로 만들것" (0) | 2016.08.06 |
Effective Java 2 - 규칙24 - "무점검 경고(unchecked warning)를 제거하라" (0) | 2016.08.06 |
Java 에서 브라우저 확인 하기 - IE11 에서 사라진 MSIE.... (0) | 2016.07.29 |
Java 엔디안 변경 (0) | 2014.05.20 |