<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----->" + str1 +"\n" + "str2----->" + str2 +"\n" + "str3----->" + 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>
“Field”与反射知识
最新推荐文章于 2021-06-04 02:44:27 发布