Java 为什么类型param不会';t支持下限是否有不支持的具体原因 公共作废副本(T[]dest,T[]src){ 对于(T:src){ } }
因为Java语言规范禁止它: 方法返回类型之前的Java 为什么类型param不会';t支持下限是否有不支持的具体原因 公共作废副本(T[]dest,T[]src){ 对于(T:src){ } },java,generics,Java,Generics,因为Java语言规范禁止它: 方法返回类型之前的称为“类型变量”,对于类型变量,只允许扩展 因为这毫无意义。如果一个方法适用于某些类型T及其所有超类型(包括Object),为什么它不适用于所有其他类型 如果该声明是允许的,那么您的方法所知道的关于src的一切就是它包含某种对象。具体来说,它不能假设src包含任何类型的编号。但是必须假设src包含Objects违背了泛型的目的,即允许对未知特定类型的对象进行类型安全操作 public <T super Number> void c
称为“类型变量”,对于类型变量,只允许扩展
T
及其所有超类型(包括Object
),为什么它不适用于所有其他类型
如果该声明是允许的,那么您的方法所知道的关于src
的一切就是它包含某种对象。具体来说,它不能假设src
包含任何类型的编号。但是必须假设src
包含Object
s违背了泛型的目的,即允许对未知特定类型的对象进行类型安全操作
public <T super Number> void copy(T[] dest, T[] src) {
for (T t : src) {
}
}