Java 我需要将类类型转换为对象类型,需要将c1转换为对象2
第一个方法返回类类型,第二个方法返回对象类型。我需要将class1转换为object2类型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();
{
//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()。这就是我提到这是首选方法的原因。:)