我正在使用反射將ResultSet
映射到bean中的Field
。Java反射:在不知道類型的情況下將對象投射到另一個對象
field = clazz.getDeclaredField(str);
field.setAccessible(true);
Object resultSetObject = rs.getObject(str);
Class fieldType = field.getType();
field.set(clazzInst, fieldType.cast(resultSetObject));
問題是resultSetObject
是Integer
型和fieldType
是長期的,我不能投Intger龍和獲取ClassCastException
。
這個問題可能會幫助你http://stackoverflow.com/questions/6690745/converting-integer-to-long – Gallo2fire
在這個問題中,你明確知道你必須將Integer轉換爲Long,但是在這裏我不知道關於它們的類型 – Dheerendra
鑄造不會對對象的類型做任何事情。 –