Java 泛型类型分配

Java 泛型类型分配,java,Java,我正在努力理解下面的代码。请帮助我。 阅读博客时我得到了这个代码。下面是博客的url class A{} 类B扩展了{} 班跑{ 公共静态void main(字符串Ars[]){ 列表a=新的ArrayList(); 列表b=新的ArrayList(); a=b;//编译时错误 } } 请告诉我为什么会出现编译时错误 Type mismatch: cannot convert from List<B> to List<A> 类型不匹配:无法从列表转换为列表 对于一个

我正在努力理解下面的代码。请帮助我。 阅读博客时我得到了这个代码。下面是博客的url

class A{}
类B扩展了{}
班跑{
公共静态void main(字符串Ars[]){
列表a=新的ArrayList();
列表b=新的ArrayList();
a=b;//编译时错误
}
}
请告诉我为什么会出现编译时错误

Type mismatch: cannot convert from List<B> to List<A>
类型不匹配:无法从列表转换为列表

对于一个直觉,考虑如果这个赋值是有效的,那么您就可以将类型<代码> ClassA < /C> >(通过<代码> Ab/COD>参考)插入到一个列表中,该列表实际上是<代码> ClassB < /Cult>实例。所以这个作业是不允许的。

除了其他答案中提到的问题外,还有一个问题是你缺少一个分号

你写道:

AB = BC

这行末尾缺少一个分号。

从这里开始:“请告诉我为什么出现编译时错误”您遇到了什么错误?错误消息通常包含其出现原因的解释/提示。堆栈溢出的另一个主要目的是作为编程问题和答案的可搜索存储库,但如果您不发布任何有关错误的信息,您面对的其他有相同问题的人将无法找到您的问题。获取此编译时错误“类型不匹配:无法从列表转换到列表”请在您的问题中发布该信息,而不是发表评论(不要让未来的读者在主要问题之外搜索错误消息)。同样要得到那个错误,你需要先有
ClassB
,但我看到的只是
B
类。C类的目的是什么?(你不在任何地方使用它)?我把错误信息添加到主要问题。谢谢你强调这一点。@ USE35707考虑纠正其他错误。就像您使用的是
Class
而不是
Class
(Java区分大小写)。您还试图
扩展ClassA
,但是没有
ClassA
,只有class
A
。试着数一数你的
{
}
。同时发布您面临的确切错误消息。
AB = BC