본문 바로가기
IT/Java

지네릭 타입 형변환

by 봉즙 2019. 7. 17.
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

댓글