私のコンバーターマネージャーに問題があります。 ConverterManagerは、型を他の型に変換するオブジェクトです。以下に見られるように、私は "変換"機能を作成しようとしているときにエラーが発生します。ジェネリッククラスの構想問題
public class StringIntegerConverter implements Converter<String, Integer> {
@Override
public Integer convert(String from) {
//...
return Integer.valueOf(from);
}
}
public class ConverterManager {
private static Map<Key,Converter<?,?>> converterRegistry;
{
converterRegistry = new HashMap<Key, Converter<?,?>>();
converterRegistry.put(new Key(String.class, Integer.class), new StringIntegerConverter());
}
public <T> T convert(Object source, Class<T> toType)
{
//**ERROR HERE : cause "source" is an Object**
return converterRegistry.get(new Key(source.getClass(),toType)).convert(source);
}
}
- この問題を解決する方法はありますか?(私はObjectから変換accepetするために私StringIntegerConverterを変更したくない)
私は、誰かが私を助けることを願っています、お読みいただきありがとうございました。)
はい、「良い」解決策になるかもしれません、ありがとうございます! – Jarod