相关疑难解决方法(0)

何时在Java Generics中使用通配符?

这是来自HeadFirst Java :(第575页)

这个:

public <T extends Animal> void takeThing(ArrayList<T> list)
Run Code Online (Sandbox Code Playgroud)

与此相同:

public void takeThing(ArrayList<? extends Animal> list)
Run Code Online (Sandbox Code Playgroud)

所以这是我的问题:如果它们完全相同,我们为什么不写

public <? extends Animal> void takeThing(ArrayList<?> list)
Run Code Online (Sandbox Code Playgroud)

要么

public void takeThing(ArrayList<T extends Animal> list)
Run Code Online (Sandbox Code Playgroud)

此外,何时使用?有用?使用泛型或类声明的方法声明(如上所述)中的T而不是T?有什么好处?

java generics wildcard

33
推荐指数
4
解决办法
2万
查看次数

Java 中的泛型方法 &lt;T&gt;

下一个方法是通用的,但我只想知道 ? 的用处是什么<T>?,我的意思是<T>who 位于 static 旁边,位于 void 之前。如果我不在我的方法中编写它会发生什么?

public static <T> void nameMethod(BinaryTreeNode<T> t){
     /*do something
         .
         .
     */
}
Run Code Online (Sandbox Code Playgroud)

谢谢。

java generics

-2
推荐指数
1
解决办法
9421
查看次数

标签 统计

generics ×2

java ×2

wildcard ×1