java在利用反射条件下替换英文字母中的值
(1)创建两个class:
reflecttest类如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
package cn.itcast.day01; import java.lang.reflect.constructor; import java.lang.reflect.field; public class reflecttest { public static void main(string[] args) throws exception { changestringvalue(pt1); system.out.println(pt1); } private static void changestringvalue(object obj) throws exception{ field[] fields = obj.getclass().getfields(); for (field field :fields){ //if(field.gettype().equals(string.class)){ if (field.gettype() == string. class ){ //同一个字节码用等号 而不是用equal string oldvalue = (string) field.get(obj); string newvalue = oldvalue.replace( 'b' , 'a' ); field.set(obj, newvalue); } } } } |
reflectpoint类如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
package cn.itcast.day01; public class reflectpoint { public string str1 = "ball" ; public string str2 = "basketball" ; public string str3 = "itcast" ; public reflectpoint( int x, int y) { super (); this .x = x; this .y = y; } public string tostring(){ return str1+ ":" +str2+ ":" +str3; } public static void main(string[] args) { // todo auto-generated method stub } } |
结果为:aall:aasketaall:itcast
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对服务器之家的支持。如果你想了解更多相关内容请查看下面相关链接