“Field”与反射知识

<wbr>题目:<b>将一个类对象中的所有为String类型的成员变量中的字符b改为f</b> <div><b><br></b></div> <div><b>person 类:</b></div> <div> <div><font color="#787878">public class Person {</font></div> <div><font color="#787878"><br></font></div> <div><font color="#787878">private String str1 = "abc";</font></div> <div><font color="#787878">private String str2 = "cbaaa";</font></div> <div><font color="#787878">private String str3 = "aaaccc";</font></div> <div><font color="#787878">@Override</font></div> <div><font color="#787878">public String toString() {</font></div> <div><font color="#787878">return "str1-----&gt;" + str1 +"\n" + "str2-----&gt;" + str2 +"\n" + "str3-----&gt;" + str3;</font></div> <div><font color="#787878">}</font></div> <div><font color="#787878">}</font></div> <div><font color="#787878"><br></font></div> <div><span style="line-height: 21px;"><b>FieldTest 类:</b></span></div> <div> <div><font color="#787878">public class FieldTest {</font></div> <div>private void changStringvalue(Object obj) {</div> <div>Field[] fields = obj.getClass().getDeclaredFields();</div> <div>for (Field field : fields) {</div> <div>if (field.getType() == String.class) {</div> <div>field.setAccessible(true);</div> <div>try {</div> <div>String oldValue = (String)field.get(obj);</div> <div>String newValue = oldValue.replace('b', 'f');</div> <div>field.set(obj, newValue);</div> <div>} catch (IllegalArgumentException<wbr> e) {</wbr> </div> <div>e.printStackTrace();</div> <div>} catch (IllegalAccessException e) {</div> <div>e.printStackTrace();</div> <div>}</div> <div>}</div> <div>}</div> <div>System.out.println(obj);</div> <div>}</div> <div>public static void main(String[] args) {</div> <div>Person person = new Person();</div> <div>FieldTest fieldTest = new FieldTest();</div> <div>fieldTest.changStringvalue(person);</div> <div>}</div> <div>}</div> <div><br></div> </div> <div style="font-weight: bold;"><br></div> <div style="font-weight: bold;"><br></div> </div> </wbr>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值