java - 访问该类的一般对象上的类变量

标签 java class object reflection

我有很多类(class),例如这个:

public class DepartmentST {
    public Long id = null;
    public String name = null;
    public String comments = null;
    public Long[] profiles = null;
    public Boolean default_val = false;
}

在主类中,我创建这些类的对象并将其发送到通用方法,例如:

DepartmentST mydepartment = new DepartmentST();
generalMethod(mydepartment);

一般方法我想访问对象字段(这是我的问题如何?)

public generalMethod(Object myObj) {
    Field[] fields = myObj.getClass().getFields();
    for(Field field : fields) {
        String fieldName = field.getName();
        // I want to access that field how can i tell myObj.fielName ?
    }
}

我是 Java 新手,我不知道这是不是一个愚蠢的问题。

感谢您提前提供的任何帮助。

最佳答案

参见http://docs.oracle.com/javase/7/docs/api/java/lang/reflect/Field.html#get(java.lang.Object)

public generalMethod(Object myObj) {
    Field[] fields = myObj.getClass().getFields();
    for(Field field : fields) {
        String fieldName = field.getName();
        // I want to access that field how can i tell myObj.fielName ?

        Class c = field.getType();
        if (c instanceOf Integer) {
            Integer value = field.getInt (myObj);
        }

        // or

        Object value = field.get (myObj); 

    }
}

关于java - 访问该类的一般对象上的类变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22141582/

相关文章:

java - 为什么没有为所有请求调用 servlet

java - 在绘制矩形和徒手绘制之间切换

java - 如何获取选择不同的结果作为实体列表而不是元组

javascript - 用类装饰器覆盖构造函数?

c++ - 嵌套类设计 C++ virtual

c++ - 遍历指针 vector

java - PropertyChangeListener requestFocus 问题

c++ - 类有外部链接吗?

php - 如何在不指定索引号的情况下在 PHP 中构建对象数组?

javascript - 实例名称作为变量