私には方法があります:
public Object instantiateAlmostAnyType(String stringToParse, Class<?> targetType) {
...
if (targetType.isEnum())
return Enum.valueOf((Class)targetType, stringToParse);
}
動作しますが、コンパイラの警告が表示されます。すべてのreturn
行:
クラスはrawタイプです。ジェネリック型クラスへの参照はパラメーター化する必要があります 列挙型は生の型です。ジェネリック型Enumへの参照はパラメーター化する必要があります 型安全性:型クラスの式は、クラスに準拠するためにチェックされていない変換が必要です タイプの安全性:タイプEnumのジェネリックメソッドvalueOf(Class、String)のチェックされていない呼び出しvalueOf(Class、String)
警告を回避する方法(@suppressWarningsを除く)はありますか?キャストはいますか?