Box box = null;
Box<Object> objBox = null;
box = (Box)objBox; //OK, 지네릭타입 -> 원시타입 (경고)
objBox = (Box<Object>)box; //OK, 원시타입 -> 지네릭 타입(경고)
지네릭 타입과 넌 지네릭 타입간 형변환은 항상 가능하지만 경고가 발생한다.
대입된 타입이 다른 지네릭 타입 간에는 Object일지라도 형변환이 불가능하다.
Box<? extends Object> wBox = new Box<String>();
와일드 카드를 사용하는 경우에는 형변환 가능하다. 와일드 카드 사용의 경우 반대의 형변환도 가능하지만 확인되지 않은 형변환 이라는 경고가 발생, 여러가지 타입이 들어 올 수 있기 때문이다.
'IT > Java' 카테고리의 다른 글
생성자의 메서드 참조 (0) | 2019.07.18 |
---|---|
Lambda expression (0) | 2019.07.18 |
지네릭 메서드 (0) | 2019.07.17 |
Generic Wild Card (0) | 2019.07.14 |
Generics (0) | 2019.07.09 |
댓글