学习高新反射的Field应用, 通过反射获取对象中成员变量的值的综合应用示例有如下, 想问其中getType()方法是如何运作的?
度娘说getType()是获得实际类型,那么field.getType()应该==String才对啊,怎么是String.class呢?这么不是Java类么?
private static void changeStringValue(Object obj) throws Exception {
Field[] fields=obj.getClass().getFields();//获得obj的所有变量
for(Field field: fields){
if(field.getType()== String.class){
String oldValue = (String)field.get(obj);
String newValue = oldValue.replace('b', 'a');//用a替换b;
field.set(obj, newValue);
}
}
}
另外,getType()方法,还有哪些应用, 还请大神一并喷下.
|
|