java 泛型,Class类型 有什么区别,通配符

https://www.runoob.com/java/java-generics.html

  1. ? 表示不确定的java类型。
  2. T 表示java类型。
  3. K V 分别代表java键值中的Key Value。
  4. E 代表Element。

Object和泛型通配符区别?

Object是所有类的根类,是具体的一个类,使用的时候可能需要类型强制转换的

但是用通配符 ?、T 、K 、V、 E 等这些的话,在实际用之前类型就已经确定了,不需要强制转换。

  • 追问:
    也就是说,这个方法能知道返回的是哪种类型(父类),就用T行了?如果完全不知道的就用?用T的得到的对象就不需要类型转换了,而用?的就必需用强转了!

  • 追答:
    第一种是固定的一种泛型,第二种是只要是Object类的子类都可以,换言之,任何类都可以,因为Object是>所有类的根基类,固定的泛型指类型是固定的,比如:Interge,String就是<T extends Collection>

<? extends Collection> 这里代表一个未知的类型,
但是,这个未知的类型实际上是Collection的一个子类,Collection是这个通配符的上限。

猜你喜欢

转载自blog.csdn.net/qq_38998213/article/details/105608492