不明白你什么意思 ------------------------------------------------------
           我们还年轻牛奶会有的奶牛也会有的 
             可天天在 csdn 混这些会有吗 ??

解决方案 »

  1.   

    大概能知道你想实现什么,不知道想的对不对。
    classA = A.getClass();
    classA.getFields() 能得到a的pulic filed,具体实现你再看看api,
    然后再循环,把所有的field的值.toString();
      

  2.   

    try {
        HashMap hm = new HashMap();
        Class className = Constants.class;//Constants就是你的A类
        Field[] fields = className.getFields();
        for (int i = 0; fields != null && i < fields.length; i++) {
            hm.put(fields[i].getName(), fields[i].get(fields[i].getName()));
    } catch (IllegalAccessException iae) {
        System.err.println(this.getClass().getName() + ".getAllConstants - 出现错误"
             + iae.toString());
    iae.printStackTrace();
    }
    返回hm是一个hashmap,里面存放着A的成员变量名称和值,例如str1 hello
                                                            str2 world
      

  3.   

    执行 RobertDeNiro的代码出现,而且用className.getFields();没有得到定义的变量,只能用className.getDeclaredFields();
    java.lang.IllegalArgumentException: object is not an instance of declaring class
    at java.lang.reflect.Field.get(Native Method)
    at GOSTR.main(GOSTR.java:20)
    Exception in thread "main"
      

  4.   

    class A:
    public class A {
    public String str1="helloaa";
    public String str2="fuck";
    public int uu=100;
    //B b;
    }main函数是;
    import java.lang.reflect.Field;
    import java.util.HashMap;
    public class GOSTR { public static void main(String[] args) {
    try {
    HashMap hm = new HashMap();
    Class className = A.class; //Constants就是你的A类
    Field[] fields = className.getFields();
    for (int i = 0;  i < fields.length; i++) {
    hm.put(fields[i].getName(), fields[i].get(fields[i].getName()));
    }
    } catch (IllegalAccessException iae) {

    iae.printStackTrace();
    } }
    }
      

  5.   

    这是因为,我的Constants是个接口,这样的话他的变量都是静态的,而你的是类,你得到这个类的类型后必须构造后才能用后面的代码,