2014-03-19 124 views
0

如何擺脫問題以使此方法類型安全?嵌套通用返回類型

private Map<String, ?> encapsulate(String rootName, List<?> data) { 
    Map<String, List<?>> rootMap = new HashMap<String, List<?>>(); 
    rootMap.put(rootName, data); 
    return rootMap; 
} 

Im傳遞一個字符串和一個List作爲參數。我希望該方法的返回類型爲:

Map<String, List<type_the_list_had_before>> 

在此先感謝。

+0

那麼你可以作出這樣的方法一般。對於任何事情,我們需要更多的信息。你怎麼調用這個方法。你想要它返回通配符參數化映射嗎? –

+4

將其更改爲'private Map > encapsulate(String rootName,List data)'。 – mrjink

+1

@mrjink:請讓它回答,我可以接受它。 – Stefan

回答

2

從評論回答:

將其更改爲

private <T> Map<String, List<T>> encapsulate(String rootName, List<T> data)