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
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对服务器之家的支持。如果你想了解更多相关内容请查看下面相关链接