java我可以要求泛型参数具有泛型参数吗?
我想写一个如下所示的类:
public class SomeClass<T<?>> {
T<String> someField;
// ...
}
但这不是有效的Java。有没有办法告诉Java泛型参数T
必须是接受一个泛型参数的类,例如List
、ArrayList
、Supplier
或Consumer
你可以在下面搜索框中键入要查询的问题!
我想写一个如下所示的类:
public class SomeClass<T<?>> {
T<String> someField;
// ...
}
但这不是有效的Java。有没有办法告诉Java泛型参数T
必须是接受一个泛型参数的类,例如List
、ArrayList
、Supplier
或Consumer
# 1 楼答案
Java中没有更高级的类型。你需要Scala(或Haskell或Rust)来做这类事情
# 2 楼答案
总之,没有。您可以限制
T
来扩展某个类或实现某个接口,但不能将其限制为泛型类本身