在 Java 中,我想要这样的东西:
class Clazz<T> {
static void doIt(T object) {
// ...
}
}
但我明白了
无法对非静态类型 T 进行静态引用
我不了解基本用途之外的泛型,因此无法理解这一点。我无法在互联网上找到有关该主题的太多信息,这无济于事。
有人可以通过类似的方式澄清这种使用是否可能吗?另外,为什么我最初的尝试没有成功?
原文由 André Chalella 发布,翻译遵循 CC BY-SA 4.0 许可协议
您不能在静态方法或静态字段中使用类的泛型类型参数。该类的类型参数仅在实例方法和实例字段的范围内。对于静态字段和静态方法,它们在类的所有实例之间共享,甚至是不同类型参数的实例,因此显然它们不能依赖于特定的类型参数。
您的问题似乎不需要使用类的类型参数。如果您更详细地描述您正在尝试做什么,也许我们可以帮助您找到更好的方法。