JDK1.4 不支持对java基本类型的反射

Field field = actionOrModel.getClass().getDeclaredField(key); Class<?> paramType = field.getType(); Object value = this.parameterMap.get(key); //JDK1.4 不支持对primitive类型变量的反射 if(paramType.toString().equals("int")){ value = Integer.valueOf(value.toString()); } if(paramType.toString().equals("double")){ value = Double.valueOf(value.toString()); } Method method = actionOrModel.getClass().getDeclaredMethod("set"+StringManager .toUpperCaseFirstChar(key), new Class[]{paramType}); method.invoke(actionOrModel, new Object[]{value}); 


当进行该方法时,如果进行setInt(int...) setDouble(...)

 如果不对value值进行相应的处理将会抛出一个异常:

method.invoke(actionOrModel,new Object[] {value });

你可能感兴趣的:(java,jdk,object,Class,Primitive)