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/

相关文章:

php - 帮助 PHP call_user_func 并将函数集成到类中?

python - 访问类实例的父模块的 __all__ 列表

java - 如何通过AJAX在ActiveMQ中设置TimeToLive参数?

java - 如何在 Mac OS 上使用 Sublime Text 3 运行 Java

Java xtend 有趣的编译错误 : This expression is not allowed in this context, 因为它不会引起任何副作用

Java 泛型 : assignment with nested wildcard parameters

c# - 为额外信息创建通用类成员

java - JSESSIONID 的值在 session 失效时不会更改

java - 使用 Class.forName 调用类

java - 泛型类型删除 ClassCastException