影者东升 发表于 2021-8-17 13:04:08

Java在利用反射条件下替换英文字母中的值

java在利用反射条件下替换英文字母中的值
(1)创建两个class:
reflecttest类如下:


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类如下:


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

文档来源:http://www.zzvips.com/article/179052.html
页: [1]
查看完整版本: Java在利用反射条件下替换英文字母中的值