当前位置: 首页 > 编程笔记 >

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

傅涵忍
2023-03-14
本文向大家介绍Java在利用反射条件下替换英文字母中的值,包括了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

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对小牛知识库的支持。如果你想了解更多相关内容请查看下面相关链接

 类似资料:
  • 问题内容: 问题是,正如您所知道的,Unicode图表中有成千上万个字符,我想将所有类似的字符转换为英文字母。 例如,这里有一些转换: 我发现字母A / a有20多个版本。而且我不知道如何对它们进行分类。它们看起来像大海捞针。 Unicode字符的完整列表位于http://www.ssec.wisc.edu/~tomw/java/unicode.html 或http://unicode.org/c

  • 我正在编写一个密码学程序,将密文转换为明文。根据字母的频率,我手动将密码的所有字母破解为明文,并且没有模式,所以我需要编写一个包含26次的循环,将字符串中的每个字母转换为另一个字母。 我的第一次尝试是在java中使用replace语句,如下所示 问题是,例如,我输入这样的字符串,我的键将是这样的“用c替换a,用p替换b,用q替换c”。我想要的输出应该是,但我得到的输出是。这意味着我希望它是一次性的

  • 我正在尝试使用正则表达式将大写字母替换为相应的小写字母。因此 变成 在Sublime的文本中。如何在同时包含小写和大写字母的单词中使用小写字母?所以它会影响维纳斯,而不是维纳斯。

  • 我正在寻求帮助,我正在制定的代码,我希望它取代最后两个字母。我正在编写一个程序,它将: 将四个字母的单词替换为“FRED” 将以“ed”结尾的单词的最后两个字母替换为“id” 最后,如果单词以“di”开头,请将前两个字母替换为“id” 我对第二条规则有困难,我知道对于数字3,我可以使用replaceFirst();并使用长度作为第一条规则,但我不确定如何具体交换字符串中的最后两个字符。 以下是我目

  • 问题内容: 我有一个名为FormatString.java的文本文件。它包含一些单词。在所有这些单词中,我想将单词oldstring替换为newstring,并将最终结果重命名为t.txt。我已经编写了代码。从技术上讲,它应该起作用。问题是我不知道在哪里保存FormatString.java文件。我是否将其保存在保存了ReplacingText程序的同一类文件夹中,还是将其保存在其他地方。我转到命

  • 当我使用ctrl+右键单击打开一个特定的类时,我应该被重定向到一个带有java源代码的窗口,该窗口包含所有行和适当的注释。但相反,我得到了一个带有反编译的。class文件的窗口。