String name = field.getName();
Object value = field.get(name);

解决方案 »

  1.   

    恐怕你得new一个对象吧。比如
    public class A {
      public String st = "bb";
    }
    如果是一个已经生成的对象,该字段的值已经被修改了,那么
      A a = new A();
      a.st = "cc";
      try{
        Field field = a.getClass().getField("st");
        System.out.println(field.get(a));
      }catch(Exception e){
    得到的就是cc了,而不是初始值bb。这里是知道对象类型A了,如果不知道,可以考虑用
    getClass().getConstructor()得到构造函数,来创建一个新的对象,不过如果构造函数有参数的话,程序就会变得很麻烦了。。
      

  2.   

    usabcd(9号公路上的3名共军) 
    谢谢,你的方法试验过了!
    可是数组不认,final的字符不认,还有好的方法嘛??
      

  3.   

    mor(安稼) 你说的方法看不懂啊!
    能不能按我的例子写一下说明啊!
      

  4.   

    谢过2楼的 usabcd(9号公路上的3名共军) 
    她(他)给的方法可用,但是不适合基本类型的field
    数组和定义类型也不识别!
    跪求它法!