public class test<T> { public <T super Number> void printObj(T num) { System.out.println(num); } }为什么报错?如何修改
时间: 2023-06-20 11:06:17 浏览: 85
测试error代码
这段代码报错的原因是 `<T super Number>` 这个语法不正确,应该使用 `<? super Number>`。
正确的代码如下:
```
public class test<T> {
public void printObj(T num) {
System.out.println(num);
}
public void printNumList(List<? super Number> numList) {
System.out.println(numList);
}
}
```
在泛型方法中使用 `<? super Number>` 表示参数类型必须是 Number 类型或其父类类型,这样就可以正确编译通过。
阅读全文