(i)および (ii)によってインデックス付けされた2 つMultimap
の のと、 のリストを出力するルーチンがあります。String
Integer
Double
String
public static void outputInteger(Multimap<Integer, String> map) {
for (Integer key : map.keySet()) {
Collection<String> strings = map.get(key);
output(strings);
}
}
public static void outputDouble(Multimap<Double, String> map) {
for (Double key : map.keySet()) {
Collection<String> strings = map.get(key);
output(strings);
}
}
とNumber
のスーパークラスとして使用して、これらを 1 つのルーチンに結合したいと思います。Integer
Double
public static void outputNumber(Multimap<? extends Number, String> map) {
for (Number key : map.keySet()) {
Collection<String> ids = map.get(key); //**
}
}
ただし、アスタリスクの行はコンパイルされません
The method get(capture#5-of ? extends Number) in the type
Multimap<capture#5-of ? extends Number,String> is not
applicable for the arguments (Number)
どうすればこれに対処できますか?