如题,程序中的黑体字在eclipse中一直提示为oldValue cannot be resolved。明明已经定义为String 类型了呀,而下面的newValue就可以呀!真真被气疯了。。- /*将任意一个对象中的所有String类型的成员变量所对应的字符串内容中的b改成a
- *
- * */
- private static void changeStringValue(Object obj) throws Exception{
- // TODO Auto-generated method stub
- //先扫描出对象中所有的成员变量,先得到对象的字节码文件,再得到其成员变量
- Field[] fields=obj.getClass().getFields();
- //对这个数组进行迭代,即扫描所有的成员变量,找到其中string类型的变量。
- for(Field field : fields)
- {
- //if(field.getType().equals(String.class))字节码只有一份,所以应该用==比较。只要是对字节码进行比较,就用==。
- //这里应该用==,因为是同一份字节码。
- if(field.getType()==String.class)
- {
- <b>String oldValue</b>=(String)field.get(obj);
- String newValue=oldValue.replace('b','a');
- field.set(obj, newValue);
- }
-
- }
- }
-
复制代码
|
|