好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

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

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

总结

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

查看更多关于Java在利用反射条件下替换英文字母中的值的详细内容...

  阅读:13次