Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/365.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.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 我需要将类类型转换为对象类型,需要将c1转换为对象2_Java - Fatal编程技术网

Java 我需要将类类型转换为对象类型,需要将c1转换为对象2

Java 我需要将类类型转换为对象类型,需要将c1转换为对象2,java,Java,第一个方法返回类类型,第二个方法返回对象类型。我需要将class1转换为object2类型 { //The return type is Class Class c1 = m.getReturnType(); //The return type is object Object object2 = resultSet.getObject(i); } 你在寻找类的“cast”方法吗 Class<T> c1 = m.getReturnType();

第一个方法返回类类型,第二个方法返回对象类型。我需要将class1转换为object2类型

{
    //The return type is Class
    Class c1 = m.getReturnType();

    //The return type is object
    Object object2 = resultSet.getObject(i);
}
你在寻找类的“cast”方法吗

Class<T> c1 = m.getReturnType();

T casted = c1.cast(object2);
Class c1=m.getReturnType();
T casted=c1.cast(object2);

有两种方法可以做到这一点

1) 使用,
c1.newInstance()
获取对象(抛出要处理的选中异常),然后将返回的对象强制转换为所需对象


2) 使用,
c1.cast(object2)
,如果无法创建实例或对象不属于类的实例(首选方法),它将抛出
ClassCastException
。不存在将一个变量转换为另一个变量的情况。请澄清您的问题。“class1”根本不会出现在代码示例中。“object2”不是类型,它是代码示例中的变量名。newInstance根本不是cas,对非泛型类调用cast()也没有太大用处:返回相同的对象,并可能出现异常。您最好使用
isInstance
我同意。newInstance()不适用于强制转换。我提到,表示可以创建实例,因为用户在强制转换后想要对象。cast()也在内部检查isInstance()。这就是我提到这是首选方法的原因。:)