java - 静态方法中的泛型

标签 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 String toString() {
            return value.toString();
        }
    }
....
}

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

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

但是在 Node 上给我这个错误:

成员类型 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;
    }

}

关于java - 静态方法中的泛型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8871369/

相关文章:

java - Java 中的元泛型

java - 后台缓冲区 VolatileImage 调整大小

java - Jenkins 构建和部署

class - Intellij IDEA如何运行一个类而不是整个项目?

ios - 返回集合中指定值出现的第一个索引

java - 为泛型类的每个类型参数创建单独的单例的最佳习惯用法?

java - 防止 AWTEventMulticaster 放入堆栈

java - 镜像无法更新其他组件(MVC)

java - Reflection API 中 new Class[0] 的含义

c# - 通用约束