我想定义一个泛型类型,其实际类型参数只能是
- 数字基元包装类之一(
Long
, Integer
, Float
, Double
)
String
我可以用这样的定义满足第一个要求
public final class MyClass<T extends Number> {
// Implementation omitted
}
但我不知道如何才能见到他们两个。我怀疑这实际上是不可能的,因为据我所知,在定义形式类型参数时无法指定“或”语义,尽管您可以使用以下定义指定“和”语义
public final class MyClass<T extends Runnable & Serializable > {
// Implementation omitted
}
干杯,
大学教师
Java 泛型不支持联合类型(此参数可以是 A 或 B)。
一些人可能感兴趣的相关说明是,如果您想强制执行多个限制,它确实支持多个边界。下面是Java中提到的JDK的一个例子泛型教程 http://java.sun.com/j2se/1.5/pdf/generics-tutorial.pdf:
public static <T extends Object & Comparable<? super T>> T max(Collection<? extends T> coll)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)