Java – cannot instantiate a type in a generic
•
Java
I have this course
public class Tree<T> { //List of branches for this tree private List<Tree<? super T>> branch = new ArrayList<Tree<? super T>>(); public Tree(T t){ this.t = t; } public void addBranch(Tree< ? super T> src){ branch.add(src); } public Tree<? extends T> getBranch(int branchNum){ return (Tree<? extends T>) branch.get(branchNum); } private T t; }
I'm trying to create a variable using this class
public static void main(String[] args){ Tree<? super Number> num2 = new Tree<? super Number>(2); }
It gave me this mistake
Cannot instantiate the type Tree<? super Number>
Solution
Although instantiated generics should be replaced with corresponding objects
For example:
Tree<Integer> num2 = new Tree<Integer>(2);
The content of this article comes from the network collection of netizens. It is used as a learning reference. The copyright belongs to the original author.
THE END
二维码