Java 一般静态工厂法问题

Java 一般静态工厂法问题,java,eclipse,generics,netbeans,Java,Eclipse,Generics,Netbeans,我的课程如下: public class Tree<T extends Comparable<? super T>> { // private data omitted private Tree() {} // non parametric private constructor, not exposed // static factory method public static <T extends Comparable<? super T

我的课程如下:

public class Tree<T extends Comparable<? super T>> {
  // private data omitted
  private Tree() {} // non parametric private constructor, not exposed
  // static factory method
  public static <T extends Comparable<? super T>> Tree<T> newInstance() { 
    return new Tree<T>(); 
  }
}

public类树BalusC注释-javac错误

通过显式键入解决:

Tree<Integer> tree = Tree.<Integer>newInstance();
Tree-Tree=Tree.newInstance();

。它是javac中的一个。顺便说一下,您忘记了
newInstance()
方法中的
static
。您不能将该方法编写为
public static Tree newInstance()
,它将自动从类声明中填充
t
public void test() {
  Tree<Integer> tree = new Tree<Integer>(); 
}
Incompatibile types:
required: structures.trees.Tree<java.lang.Integer>
found: <T>structures.trees.Tree<T>
Tree<Integer> tree = Tree.<Integer>newInstance();