我是一位C#程序員,並同意幫助一個煎鍋做Java作業。擴展通用列表
在一個例子中,我想創建一個擴展泛型列表的類。在C#中,這看起來像
public class MyListClass : List<MyCustomType>
我已經試過
public class MyListClass extends List<MyCustomType>
,並得到錯誤 「沒有此接口預期」。那麼,我不是試圖使用一個接口...任何提示?
我是一位C#程序員,並同意幫助一個煎鍋做Java作業。擴展通用列表
在一個例子中,我想創建一個擴展泛型列表的類。在C#中,這看起來像
public class MyListClass : List<MyCustomType>
我已經試過
public class MyListClass extends List<MyCustomType>
,並得到錯誤 「沒有此接口預期」。那麼,我不是試圖使用一個接口...任何提示?
您無法擴展接口。你必須實現它。 但你可以擴展實現之一(鏈表爲例):
public class MyListClass extends LinkedList<MyCustomType> {
你需要聲明一個泛型類/接口
public class MyListClass<T> implements List<T> { }
或者
public interface MyListInterface<T> extends List<T> { }
或最重要
的public class MyListClass<T> extends AbstractList<T> implements List<T> { }
Java不是C++,因此忘記了所有關於標準模板的知識。
你可能想要的是隻是一個類型列表:
List<MyCustomType> myList = new ArrayList<MyCustomType>();
,這一切。
將「擴展通用類」作爲任務的目標是不常見的。在現實世界中也是不尋常的。
Java中的'List'是一個接口。在C#中的等價物將是一個「IList」。這可能會讓你感到困惑。 – maba
好點。我現在已經使用LinkedList,並且到目前爲止它的行爲如預期 – Peter