[英]Can't instantiate ArrayList of ArrayLists as a List of Lists in Java
[英]Java - Can't I put a arraylist inside of a list of lists - how to get around?
我有一些我被賦予的功能。 我無法更改參數類型的函數參數。 我的問題是關於下面的論點“同義詞”:
public List<String> generateSentences(List<List<String>> synonyms, String text) {
ArrayList<ArrayList<String>> synTotal = new ArrayList<ArrayList<String>>(Arrays.asList("hi"));
synTotal.add(synonyms.get(0));
我創建了這個 ArrayList of ArrayList of strings、synTotal,並將數據放入其中。 但是,當我嘗試添加到此創建的列表列表時,我收到以下錯誤:
我很困惑。 我對列表的理解是列表是對象,而數組列表是對象的實現。 但是總是需要使用正確的實現(arraylist/linked list/etc)來創建一個列表。
所以基於這個想法,我會認為參數 List<List> 必須以某種方式實現為這些特殊實現之一。 如果沒有,如果 List<List> 已經在參數中實例化,我該如何給它一個實現?
謝謝!
不要做ArrayList<ArrayList<String>> synTotal = new ArrayList<ArrayList<String>>();
改為這樣做: List<List<String>> synTotal = new ArrayList<List<String>>();
因為在創建List<> variable
時,使用的是new ArrayList<>
,但變量必須作為List<>
使用,因為變量的類型是List<>
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.