CH12-15,16 지네릭 형변환

[자바의 정석 - 기초편] ch12-15,16 지네릭형변환

이번시간에는 지네릭타입의 형변환과 제거를 알아보겠다.

우선 지네릭 타입과 원시타입간의 형변환은 바람직 하지 않다.(경고 발생시킴)

Untitled

가능은하지만… 경고가 생긴다.

애초에 JDK1.5부터 지네릭스가 나온이후로.. 지네릭클래스인데, 굳이 원시타입으로 생성하는것 자체를 지양한다.

지네릭클래스로 구현된 클래스는 모두 지네릭스를 사용하는게 좋다.

형변환이 가능하긴 하다는건 다음을 의미한다.

Untitled

위 처럼 생성하는게 가능하다.

이때 참조변수는 원시타입이라.. 지네릭 안쓴 것처럼 아무거나 다 집어넣을 수 있다.

Untitled

분명 <String>타입인데, Integer타입을 넣을 수 있다. 즉 지네릭안쓴거나 다음없다. 그래서 지네릭과 원시타입간의 형변환은 권장하지 않는다. 지네릭 클래스면 지네릭을 사용하자.

서로 다른 대입된 타입을 갖고 있는 지네릭 클래스간 형변환은 불가능하다.

이건 당연한 이야긴데… 만약 저게 된다면

strBox<String> box = new strBox<Objec>();