java - 泛型类中的泛型静态方法

标签 java generics

假设我有:

public class Parent<T extends Child1>  {
    public Parent() {       
    }

    public static <T extends Number> void test(T t) {
    }
}

Child1Parent 的子类。

我在这里试图理解的是类作用域和方法作用域中参数类型 T 之间的联系。如果两个参数(类的和方法的)的边界完全不同,如何允许将它们命名为 T

最佳答案

方法中定义的类型参数完全独立于类中定义的类型参数。事实上,您必须为静态方法定义类型参数,因为类级类型参数不能在那里使用。您不能在静态上下文中使用类级类型参数。那超出了他们的范围。因此,如果删除该方法级类型参数声明,则会出现编译错误。

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

相关文章:

Java Swing 使用 setDefaultCloseOperation 关闭窗口添加窗口监听器

c# - 没有通用扩展方法的类型推断

c# - 为什么 C# 不允许将泛型类型用作泛型类中的属性?

java - 在字符串的每个大写字母之前附加 ","

java - 使用 Eclipse EE 的 jPOS-EE 客户端、服务器模拟器

java - 将带有图像的 JLabel 添加到 JList 以显示所有图像

java - java中枚举的优雅泛型 "Cross product"

java - 未知类型的数组

Java 泛型在方法的返回类型之前限制通配符的使用

java - Guava 重复键异常 IllegalArgumentException