Java Generics - Không có Cast
Không cho phép truyền đến một kiểu được tham số hóa trừ khi nó được tham số hóa bằng các ký tự đại diện không bị ràng buộc.
Box<Integer> integerBox = new Box<Integer>();
Box<Number> numberBox = new Box<Number>();
//Compiler Error: Cannot cast from Box<Number> to Box<Integer>
integerBox = (Box<Integer>)numberBox;
Để đạt được điều tương tự, có thể sử dụng các ký tự đại diện không bị ràng buộc.
private static void add(Box<?> box) {
Box<Integer> integerBox = (Box<Integer>)box;
}