可能重复:
`List<Dog>` 是 `List<Animal>` 的子类吗?为什么 Java 的泛型不是隐式多态的?
public abstract class AbstractServerSession<E extends AbstractPacket> {
[...]
packet = (E) PacketFactory.getPacket(packetClazz);
我得到这个错误,恕我直言没有意义:
Type mismatch: cannot convert from AbstractPacket to E
E
如果我明确指出那是 的孩子,他怎么不能转换AbstractPacket
?
我可以添加演员表
packet = (E) PacketFactory.getPacket(packetClazz);
但是当然我会收到这个警告:
Type safety: Unchecked cast from AbstractPacket to E
那是<E extends AbstractPacket>
为了什么?
编辑:根据要求
public static final AbstractPacket getPacket(Class<? extends AbstractPacket> clazz)
谢谢你的时间!