重複の可能性:
List<Dog> は List<Animal> のサブクラスですか? Java のジェネリックが暗黙のうちにポリモーフィックではないのはなぜですか?
public abstract class AbstractServerSession<E extends AbstractPacket> {
[...]
packet = (E) PacketFactory.getPacket(packetClazz);
IMHOが意味をなさないというこのエラーが表示されます:
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)
御時間ありがとうございます!