我试图定义一个泛型方法,它的参数被两种类型绑定(bind),但它似乎不起作用:
public static <T extends Readable, Appendable> void doSomething(T t) {
int r = t.read(...); // compiles OK
//
t.append(...); // compile error
}
这应该编译。谁能看出我做错了什么?
最佳答案
问题是该方法定义了两个参数,一个称为T
,一个称为Appendable
,而不是一个参数有两个边界。
逗号应该是一个和号,像这样:
public static <T extends Readable & Appendable> void doSomething(T t) {
//
}
关于java - 使用多个通用边界时编译错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20700061/