A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 木易在他乡 中级黑马   /  2014-8-25 22:58  /  845 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文


学习高新反射的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()方法,还有哪些应用, 还请大神一并喷下.

1 个回复

倒序浏览
你可以看看Class文件的构成相关资料。就明白了。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马