此例子:将字符为b的换成a:
public class ReflectChangeValue {
public String str1 = "boll";
public String str2 = "basketball";
public String str3 = "zchen";
@Override
public String toString() {
return str1+"--"+str2+"--"+str3;
}
}
import java.lang.reflect.Field;
public class ReflectTest {
public static void main(String[] args) throws Exception {
ReflectChangeValue rf = new ReflectChangeValue();
changeStringValue(rf);
System.out.println(rf);
/**String str1 = "abc";
Method methodCharAt = String.class.getMethod("charAt", int.class);
System.out.println(methodCharAt.invoke(str1, 1));*/
}
private static void changeStringValue(Object obj) throws Exception{
Field[] fields = obj.getClass().getFields();
for(Field field:fields){
if(field.getType() == String.class){
String oldValue = (String)field.get(obj);
String newValue = oldValue.replace('b', 'a');
field.set(obj, newValue);
}
}
}
}
本文介绍了一个使用Java反射机制来查找并替换对象中所有公开字段的示例代码,特别是如何将字符串中的某个字符替换为另一个字符。
1312

被折叠的 条评论
为什么被折叠?



