I have this class
public class Tree {
//List of branches for this tree
private List> branch = new ArrayList<
Wildcards ?
cannot be used when creating new instances. You should change your code to something like that
import java.util.ArrayList;
import java.util.List;
public class Test1 {
public static void main(String[] args){
Tree super Number> num2 = new Tree(2);
num2.addBranch(new Tree(1));
Tree super Number> num3 = (Tree super Number>) num2.getBranch(0);
System.out.println(num3);
}
}
class Tree {
//List of branches for this tree
private List> branch = new ArrayList>();
public Tree(T t){ this.t = t; }
public void addBranch(Tree src){ branch.add((Tree super T>) src); }
public Tree extends T> getBranch(int branchNum){
return (Tree extends T>) branch.get(branchNum);
}
public String toString(){
return String.valueOf(t);
}
private T t;
}