英文:
What is a difference in Java between class B<T> extends A<T> and class B<T> extends A
问题
什么是以下代码片段之间的区别:
// 1
class A<T>
class B<T> extends A
和
// 2
class A<T>
class B<T> extends A<T>
1与*原始类型*类似吗:
List list = new ArrayList<Integer>();
而2是首选形式吗
?
英文:
What is the difference between:
// 1
class A<T>
class B<T> extends A
and
// 2
class A<T>
class B<T> extends A<T>
Is 1 related to the Raw Types like:
List list = new ArrayList<Integer>();
whereas 2 is a preferred form
?
答案1
得分: 1
第一个代码片段扩展了原始类型。在 B
中无法确定类 A
中的类型 T
应该是什么。类 A
中的 T
和类 B
中的 T
是不相关的。
第二个代码片段扩展了 A<T>
。所以类 A
中的 T
和类 B
中的 T
指代同一类型。
英文:
The first one extends the raw type. There is no way then in B
to say what type T
in class A
should be. T
in A
and T
in B
are unrelated.
The second one extends A<T>
. So T
in A
and T
in B
refer to the same type.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论