我有很多类(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/