前提・実現したいこと
Javaでジェネリクスによる型推論mapを使用したいと考えております。
発生している問題・エラーメッセージ
get単体だと任意の型にキャストができるのですが、
String.valueOfなどのメソッドに引き渡すと以下のエラーが出てしまいます。
「java.base/java.lang.Integer cannot be cast to [C」
引数違いのメソッドが複数あるため推論がうまくいってないと思われるのですが、
解消方法をご教示願えますでしょうか。
なおgMap.<Integer>get()と都度型を明示する方法以外での解消をしたいです。
該当のソースコード
Java
1/** 2* 型推論map 3*/ 4public class GMap implements java.util.Map<String, Object> { 5 6java.util.Map<String, Object> map; 7 8public GMap(){ 9 map = new HashMap<String, Object>(); 10} 11public <T> T get(String key) { 12 return (T) map.get(key); 13 } 14} 15 16 17GMap gMap = new GMap(); 18gMap.put("key", 123); 19 20Integer hogei = gMap.get("key"); // get自体は可能 21String hoges = String.valueOf(gMap.get("key")); // castエラー
補足情報(FW/ツールのバージョンなど)
JAVA openJDK_10.0.2
Eclipse Photon
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。