728x90
- 배열을 사용하는 코드를 제네릭으로 만들때 해결 책 두가지가 있다.
- 첫번째 방법은 제네릭 배열 대신에 Object 배열을 생성한 뒤에 제네릭 배열로 형변환 하는것.
- 형변환을 배열 생성시 한 번만 한다.
- 가독성이 좋다.
- 힙 오염이 발생할 수 있다(아이템31)
- 두번째 방법은 elements 필드의 타입을 E[] 에서 Object[]로 바꾸는 것이다.
- 제네릭 배열 대신에 Object 배열을 사용하고, 배열이 반환한 원소를 E로 형변환 하는것.
- 원소를 꺼낼때 마다 형변환을 해주어야 한다.
- 필요에 따라 한정적 타입 매개변수를 이용해서 제약조건을 추가하자. E extends Number> 같은..
- 첫번째 방법은 제네릭 배열 대신에 Object 배열을 생성한 뒤에 제네릭 배열로 형변환 하는것.
728x90
'공부 > 이펙티브자바' 카테고리의 다른 글
[이펙티브자바]item 31.한정적 와일드카드를 사용해 API 유연성을 높이라. (0) | 2023.02.15 |
---|---|
[이펙티브자바]item 30.이왕이면 제네릭 메서드로 만들라. (0) | 2023.02.14 |
[이펙티브자바]item 28.배열보다는 리스트를 사용하라. (0) | 2023.02.11 |
[이펙티브자바]item 27.비검사 경고를 제거하라 (0) | 2023.02.10 |
[이펙티브자바]item 26.로 타입은 사용하지 말라 (0) | 2023.02.10 |
댓글