Java 为什么我会收到未检查的作业警告?

Java 为什么我会收到未检查的作业警告?,java,generics,abstract-class,Java,Generics,Abstract Class,我有以下接口和类定义 abstract interface I{} class Foo implements I{} abstract class A<T extends I> { List<T> list; } class B extends A<Foo> {} 抽象接口I{} 类Foo实现I{} 抽象A类{ 名单; } 类B扩展了{} 所有的定义都很好用。然后,我想做以下工作: A b = new B(); List<? exten

我有以下接口和类定义

abstract interface I{}

class Foo implements I{}

abstract class A<T extends I> {
    List<T> list;
}

class B extends A<Foo> {}
抽象接口I{}
类Foo实现I{}
抽象A类{
名单;
}
类B扩展了{}
所有的定义都很好用。然后,我想做以下工作:

A b = new B();
List<? extends I> iList = b.list;
ab=新的b();

列表变量
ab
为原始类型。也许你是想用
ab
来代替。

A
是一个at声明。但是
A
的列表不是都是
Nope类型的吗?对于原始类型,没有类型安全的保证,所以现在任何与泛型相关的东西都是不可能的。@DaiwikDaarun这是个好问题。你应该把它添加到问题的文本中,而不是添加到评论中。这将使它更加有趣,并且与复制品不同。有没有办法取消标记为复制品?我仍然没有看到任何反例来反驳我的评论,现在这两种方法都很好,但有人知道为什么吗?不是所有
A
的列表都属于
@DaiwikDaarun类型吗
A
不是
A@DaiwikDaarun,我想这在对你问题的评论中得到了回答。基本上将定义为泛型类型,然后取消选中的警告将从第二个语句列表中删除