Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java反射盖#1铸造错误_Java_Reflection_Casting - Fatal编程技术网

Java反射盖#1铸造错误

Java反射盖#1铸造错误,java,reflection,casting,Java,Reflection,Casting,我正在从事一个java项目,这是我的代码: Class<? extends Component> componentClass = componentField.getType(); Component tempComponent = entity.get(componentClass); Class有什么不同?是的 Class<?> or Class<? extends Component> componentField.getType()可能返回

我正在从事一个java项目,这是我的代码:

Class<? extends Component> componentClass = componentField.getType();
Component tempComponent = entity.get(componentClass);

Class有什么不同?是的

 Class<?> or Class<? extends Component>  

componentField.getType()
可能返回
Class
而不是
ClassI我知道它返回Class,问题是我是否可以得到要返回的真实类,因为我需要使用.get()方法。您必须强制转换它,可能是通过原始类型:
(Class)componentField.getType()
,并酌情添加@SuppressWarnings。如果
实体
是一个
映射
,则它不会关心您为其
get()
函数指定的类型。你也许可以完全跳过这个角色。
 Class<?> or Class<? extends Component>  
Class componentClass = componentField.getType(); 
if(componentClass != Component.Class && Component.isAssignableFrom(componentClass){
 Component tempComp = entity.get(componentClass);
}