以下类型定义之间有什么区别
<E extends Number>
和
<? extends Number>
干杯, 唐
答案 0 :(得分:22)
此版本:
<? extends Number>
可以出现在非泛型方法/类型中,它基本上意味着“我不关心类型是什么,只要它来自Number
。我不打算真正使用类型,我只需要它是合适的。“
此版本:
<E extends Number>
要求E为类型参数。它允许你做更多的事情(例如,稍后创建一个ArrayList<E>
),但额外的类型参数可以使事情变得更复杂,当你真的不需要它们时。