2017-02-16 98 views
0

對不起,我不是熟悉的仿製藥,我可以創建一個通用類像下面這樣:爪哇 - 接受Map作爲參數類

public class InfoField <T, U> { 

} 

上面的類可以接受像值:

<String, User> 
<String, String> 
<Set<UserGroup>, User> 

但是我能接受地圖對象作爲值的類嗎?像

<Map<String, String>, String> 

public class InfoFieldMap <Map<T,U>, K> { 

} 

回答

1

作品,你原來有它:

class InfoField <T, U> { 
    public static void main(String[] args) 
    { 
     //Example InfoField declaration 
     InfoField<Map<String,String>, String> test; 
    } 
} 
1

我不知道,你可以有一個地圖作爲另一個地圖關鍵如您在聲明瞭InfoFieldMap類。看到這個簡單的例子:map-in-java-with-example

InfoFieldMap類的declation應該是:

public class InfoFieldMap <K, Map<K,V>> { 

} 

ķ地圖V的關鍵場的的地圖V可以是地圖或另一個集合。

+0

一個地圖可以從技術的角度用作其他地圖的關鍵,至少。例如java.util.HashMap通過它們的哈希碼來區分它的鍵。因此正確實現hashCode方法的任何東西都可以工作。但問題是它是否有用。有些情況下,簡單的1:1映射不是你想要的。在這種情況下,多值地圖可能是要走的路, –

0

我相信你們已經做這樣的事情

public class InfoFieldMap < Z extends Map<K,V>, K, V>