我试图做这样的事情:扩展列表和通用
public class MyClass1 implements IMyInterface{
public boolean myMethod(){
...
}
}
public class MyClass2 implements IMyInterface{
public boolean myMethod(){
...
}
}
public class MyList<T extends IMyInterface> extends ArrayList<T>{
public T getSomething(){
for (int i = 0; i < size(); i++) {
if (get(i).myMethod())
return get(i);
}
return null;
}
}
所以我可以用它像这样
public class MyClass3{
public void doSomething(MyList<IMyInterface> list){
...
}
}
public class MyClass4{
public MyList<MyClass1> list1;
public MyList<MyClass2> list2;
public MyClass4(){
MyClass3.doSomething(list1);
MyClass3.doSomething(list2);
}
}
但我得到一个错误与此消息:该方法的doSomething (MYLIST)在类型MyClass3不适用于参数(MYLIST)
让我们看看你的实际代码,而不是你想要的一些构成例子。该错误在* actual *代码中。 – chrylis