私はジェネリックが初めてで、ここに私の問題があります:
public class Tree<T> {
public Collection<Tree<T>> getSubTrees(){};
public Tree<T> getTree(T element){}
}
public class DataTree extends Tree<Data>{
public void someMethod(){
DataTree dataTree = this.getTree(root) ;// type mismatch
Collection<DataTree> leafs = this.getSubTrees(); //type mismatch
//following works
Tree<Data> dataTree = this.getTree(root);
Collection<Tree<Data>> leafs = this.getSubTrees();
}
}
このようなエラーが発生した理由、または Tree<Data> を DataTree に正しくキャストして DataTree 固有のメソッドを呼び出す方法を教えてください。