JAVA-Generics(5)
ムカデ形変換
Box<Object> objBox = null;
Box box = (Box)objBox; //ok. 지네릭타입 -> 원시타입. 경고발생
objBox = (Box<Object>)box; //ok. 원시타입 ->지네릭 타입. 경고발생
Genericタイプとnon-genericタイプの間のタイプ変換は常に可能である.警告だけが発生します.Box<Object> objBox = null;
Box<String> strBox = null;
objBox = (Box<Object>)strBox; //에러. Box<String> -> Box<Object>
strBox = (Box<String>)objBox; //에러. Box<Object> -> Box<String>
Box<Object> objBOX = (Box<Object>) new Box <String>(); //에러, 형변환 불가능
Box<? extends Object> wBox = (Box<? extends Object>)new Box<String>(); //ok
Box<? extends Object> wBox = new Box<String>();
//매개변수로 FruitBox<Fruit>, FruitBox<Apple>, FruitBox<Grape> 등이 가능
static Juice makeJuice(FruitBox<? extends Fruit> box){ ... }
FruitBox<? extends Fruit> box = new FruitBox<Fruit>(); //ok
FruitBox<? extends Fruit> box = new FruitBox<Apple>(); //ok
Reference
この問題について(JAVA-Generics(5)), 我々は、より多くの情報をここで見つけました https://velog.io/@jo_dbsgh95/JAVA-지네릭스Generics-5テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol