我試圖做這樣的事情:擴展列表和通用
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