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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

如题,程序中的黑体字在eclipse中一直提示为oldValue cannot be resolved。明明已经定义为String 类型了呀,而下面的newValue就可以呀!真真被气疯了。。
  1. /*将任意一个对象中的所有String类型的成员变量所对应的字符串内容中的b改成a
  2.          *
  3.          * */

  4.         private static void changeStringValue(Object obj) throws Exception{
  5.                 // TODO Auto-generated method stub
  6.                 //先扫描出对象中所有的成员变量,先得到对象的字节码文件,再得到其成员变量
  7.                 Field[] fields=obj.getClass().getFields();
  8.                 //对这个数组进行迭代,即扫描所有的成员变量,找到其中string类型的变量。
  9.                 for(Field field : fields)
  10.                 {
  11.                         //if(field.getType().equals(String.class))字节码只有一份,所以应该用==比较。只要是对字节码进行比较,就用==。
  12.                         //这里应该用==,因为是同一份字节码。
  13.                         if(field.getType()==String.class)
  14.                         {
  15.                                 <b>String oldValue</b>=(String)field.get(obj);
  16.                                 String newValue=oldValue.replace('b','a');
  17.                                 field.set(obj, newValue);
  18.                         }
  19.                         
  20.                 }
  21.         }
  22.         
复制代码

2 个回复

倒序浏览
我这里显示正常呀  
回复 使用道具 举报

所以说,你现在应该能理解我当时的心情,见鬼了有木有。。
不知道是不是其他部分出问题了,我再仔细找找吧。。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马