您需要对泛型类型设置绑定.如果包含convertToLong的类在同一类型上进行参数化,则可以将绑定放在那里:
import java.util.*;
public class GenericTest {
static interface HasLongProperty {
long someLongProperty();
}
public long convertToLong(Collection es) {
long a = 0;
for(C sth : es)
a += sth.someLongProperty();
return a;
}
}
或者,如果包含convertToLong的类不是通用的,则可以将绑定放在单个方法的声明中:
import java.util.*;
public class GenericTest {
static interface HasLongProperty {
long someLongProperty();
}
public long convertToLong(Collection es) {
long a = 0;
for(C sth : es)
a += sth.someLongProperty();
return a;
}
}