这里使用了java的反射机制,可以访问或修改自定义类型的成员属性,而且私有的成员属性也可以访问和修改。
Configes configes = new Configes(); // 需要导入java.lang包的不要导错了,这里会抛出异常 Field field = configes.getClass().getDeclaredField(name); // 这里会抛出异常,此异常主要是属性的访问权限,private私有属性时无法修改,直接修改权限解决 field.setAccessible(true); //这里会产生类型不匹配的异常,所有进行类型判断和强转 if(field.getType().equals(int.class)){ field.setInt(configes, Integer.parseInt(value)); }else if(field.getType().equals(float.class)) { field.setFloat(configes, Float.parseFloat(value)); }else if(field.getType().equals(boolean.class)) { field.setBoolean(configes,Boolean.parseBoolean(value)); }else{ field.set(configes,value); }自定义类型的读取成员变量也是一样,用Field 的 get 方法即可。