Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/370.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 静态方法中的泛型类型_Java_Class_Generics_Methods_Static - Fatal编程技术网

Java 静态方法中的泛型类型

Java 静态方法中的泛型类型,java,class,generics,methods,static,Java,Class,Generics,Methods,Static,静态方法中的泛型类型有问题。我有以下代码: 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 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();
        }
    }
....
}
公共类BST{
公共静态类节点{
私人T值;
私有节点左、右、父节点;
专用节点(TV){
值=v;
}
公共字符串toString(){
返回值.toString();
}
}
....
}
然后我想在这个静态方法中使用Node:

public static <E> boolean equalTrees(Node<E> r1, Node<E> r2)
公共静态布尔等式树(节点r1、节点r2)
但是at节点给了我这个错误:

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

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

试试这个:

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;
    }

}
公共类BST{
公共静态布尔等式树(节点r1、节点r2){
返回false;
}
公共静态类节点{
私人股本价值;
私有节点左、右、父节点;
}
}

equalTrees方法在哪里?它是在
BST
类中还是在
节点
类中?请使用适当的语言(我想是Java)重新标记。我遇到了这个问题,我解决了它,没有将节点声明为内部类,但是创建一个只包含节点类的新文件时,我得到了一个错误:无法对非静态类型进行静态引用。你的问题中缺少了一些东西,你应该发布更多的代码,因为正如我提到的,上面的代码适用于Meeded,整个节点类我编辑了我的答案,请检查上述代码是否适用于您