【发布时间】:2008-12-07 21:58:48
【问题描述】:
以下类型定义有什么区别
<E extends Number>
和
<? extends Number>
干杯, 唐
【问题讨论】:
以下类型定义有什么区别
<E extends Number>
和
<? extends Number>
干杯, 唐
【问题讨论】:
这个版本:
<? extends Number>
可以出现在非泛型方法/类型中,它基本上意味着“我不在乎类型是什么,只要它派生自Number。我不会真正使用该类型,我只需要它是合适的。”
这个版本:
<E extends Number>
要求 E 是类型参数。它允许您做更多事情(例如,稍后创建一个ArrayList<E>),但是当您不需要它们时,额外的类型参数会使事情变得更加复杂。
【讨论】: