我想定义一个泛型类型,其实际类型参数只能是
Long,Integer,Float,Double)String我可以通过这样的定义满足第一个要求
public final class MyClass<T extends Number> {
// Implementation omitted
}
Run Code Online (Sandbox Code Playgroud)
但我无法弄清楚如何满足他们两个.我怀疑这实际上是不可能的,因为AFAIK在定义形式类型参数时没有办法指定"或"语义,尽管你可以使用如下的定义来指定"和"语义
public final class MyClass<T extends Runnable & Serializable > {
// Implementation omitted
}
Run Code Online (Sandbox Code Playgroud)
干杯,唐