Java 实例化作为参数传递的类的枚举

Java 实例化作为参数传递的类的枚举,java,generics,enums,compiler-warnings,Java,Generics,Enums,Compiler Warnings,我有一个方法: public对象实例化amostanyType(字符串stringToParse,类targetType){ ... if(targetType.isEnum()) 返回枚举值((类)targetType,stringToParse); } 它可以工作,但我收到了编译器警告。返回行的所有内容: Class is a raw type. References to generic type Class should be parameterized Enum is a raw t

我有一个方法:

public对象实例化amostanyType(字符串stringToParse,类targetType){
...
if(targetType.isEnum())
返回枚举值((类)targetType,stringToParse);
}
它可以工作,但我收到了编译器警告。
返回
行的所有内容:

Class is a raw type. References to generic type Class should be parameterized Enum is a raw type. References to generic type Enum should be parameterized Type safety: The expression of type Class needs unchecked conversion to conform to Class Type safety: Unchecked invocation valueOf(Class, String) of the generic method valueOf(Class, String) of type Enum 类是原始类型。泛型类型类的引用应该参数化 枚举是原始类型。对泛型类型枚举的引用应参数化 类型安全性:类型类的表达式需要未经检查的转换才能符合类 类型安全:枚举类型的泛型方法valueOf(类,字符串)的未选中调用valueOf(类,字符串) 有没有办法(除了@suppressWarnings)避免警告?任何类型转换?

public T实例化(字符串stringToParse,类targetType){
public <T extends Enum<T>> T instantiate(String stringToParse, Class<T> targetType) {
    ...
    return Enum.valueOf(targetType, stringToParse);
}
... 返回枚举值(targetType,stringToParse); }

现在,在编译时检查
实例必须是
枚举
类型,并且不必执行任何不安全的强制转换。

到目前为止,我还没有找到解决方案,所以我认为这是不可能的。如果有人给我答案,我会接受的

我做不到。这个方法还尝试实例化其他类型,而不仅仅是枚举,您需要更多地解释实际问题。我有一个方法,可以根据字符串表示和目标类型实例化许多不同的类型。它创建整数、字符、大小数等,也创建枚举。问题是编译器不喜欢原始枚举和类,也不喜欢未经检查的强制转换。我不喜欢警告和抑制它们,也没有办法调用这个方法。我的输入类型为:
Class targetType
,因此当我调用此方法时,我必须执行生成相同警告的强制转换。我用编译器警告更新了我的问题