静态方法中的泛型类型

时间:2012-01-15 16:40:47

标签: java class generics methods static

我在静态方法中遇到了Generic Types的问题。我有这段代码:

public class BST<E extends Comparable<E>> {

    public static class Node<T> {
        private T value;
        private Node<E> left, right, parent;

        private Node(T v) {
            value = v;
        }

        public String toString() {
            return value.toString();
        }
    }
....
}

然后我想在这个静态方法中使用Node:

public static <E> boolean equalTrees(Node<E> r1, Node<E> r2)

但在Node给我这个错误:

成员类型BST.Node必须使用参数化类型进行限定,因为它不是静态的

我已经搜索过,找不到答案。

1 个答案:

答案 0 :(得分:2)

试试这个:

public class BST<E extends Comparable<E>> {

    public static <E> boolean equalTrees(Node<E> r1, Node<E> r2) {
        return false;
    }

    public static class Node<E> {
        private E value;
        private Node<E> left, right, parent;
    }

}