2013-02-18 40 views
4

我有樹類例如ClassAClassBClassCClassAClassB延伸ClassC。我有兩個Multimaps - Multimap<Integer, ClassA>Multimap<Integer, ClassB>,我想將這兩個multimaps合併爲一個。我試圖找到一些解決方案,但沒有成功。我嘗試過某事。像Multimap<Integer, ? extends ClassC>但我不知道我是否正確,如果我可以將兩個multimap合併在一起。有人能幫我嗎?感謝您的回覆,我感謝每一位幫助。番石榴:合併兩個多圖

回答

5
Multimap<Integer, ClassC> combine(Multimap<Integer, ? extends ClassC> a, Multimap<Integer, ? extends ClassC> b) { 
    Multimap<Integer, ClassC> combined = new SetMultimap<Integer, ClassC>(); // or whatever kind you'd like 
    combined.putAll(a); 
    combined.putAll(b); 
    return combined; 
} 
+0

謝謝你們我真的很感謝你們的幫助。這兩個回覆對我來說都非常有幫助。萬分感謝。 – Martin 2013-02-18 16:15:14

8

Multimap<Integer, ? extends ClassC>意味着通用類型可以是擴展ClassC的任何類型,但類型必須是固定的。即它可以全部爲ClassA或全部爲ClassB。所以你應該使用Multimap<Integer, ClassC>來代替。它將接受類型ClassAClassB