doSomething
私はを取り入れるメソッド(それを呼びましょう)を持っていて、 (もちろん、Foo extends Object)Map<String,Object>
を渡したいです。Map<String,Foo>
コンパイルするとdoSomething
、特定のタイプには適用できないと表示されます。これが私のコードです:
public class FooMapChoo {
private Map<String, Foo> map;
public void doSomething(Map<String,Object>) {
}
public static void main(String...args) {
doSomething(map);
}
}
コンパイラ出力:
method doSomething in class FooMapChoo cannot be applied to given types;
doSomething(map);
^
required: Map<String,Object>
found: Map<String,Foo>
Fooは多形的にObjectにキャストされるべきだと私には思えます。また、「変換不可能なタイプ」とだけ表示されるにキャストmap
してみました。Map<String,Object>
ポリモーフィズムの問題を解決するにはどうすればよいですか?