我想写一个看起来像这样的类:
public class SomeClass<T<?>> {
T<String> someField;
// ...
}
但这不是有效的Java。有没有办法告诉Java通用参数T
必须是接受一个通用参数的类,例如List
,ArrayList
,Supplier
或{{1} }。
答案 0 :(得分:3)
总之,没有,没有。您可以限制T
来扩展某些类或实现某些接口,但不能将其限制为本身是通用类。
答案 1 :(得分:2)
Java中没有更高种类的类型。这类东西需要Scala(或Haskell或Rust)。