Java 如何迭代类成员?
我使用的是谷歌应用程序引擎的Java版本 我想创建一个函数,可以接收多种类型的对象作为参数。我想打印出对象的成员变量。每个对象可能不同,函数必须适用于所有对象。我必须使用反射吗?如果是这样,我需要写什么样的代码Java 如何迭代类成员?,java,reflection,Java,Reflection,我使用的是谷歌应用程序引擎的Java版本 我想创建一个函数,可以接收多种类型的对象作为参数。我想打印出对象的成员变量。每个对象可能不同,函数必须适用于所有对象。我必须使用反射吗?如果是这样,我需要写什么样的代码 public class dataOrganization { private String name; private String contact; private PostalAddress address; public dataOrganization(){}
public class dataOrganization {
private String name;
private String contact;
private PostalAddress address;
public dataOrganization(){}
}
public int getObject(Object obj){
// This function prints out the name of every
// member of the object, the type and the value
// In this example, it would print out "name - String - null",
// "contact - String - null" and "address - PostalAddress - null"
}
如何编写函数getObject?是的,您确实需要反射。事情会是这样的:
public static void getObject(Object obj) {
for (Field field : obj.getClass().getDeclaredFields()) {
//field.setAccessible(true); // if you want to modify private fields
System.out.println(field.getName()
+ " - " + field.getType()
+ " - " + field.get(obj));
}
}
(正如所指出的,该方法现在应该声明为void
,因为它不返回任何内容,并且声明为static
,因为它不使用任何实例变量或方法。)
有关更多信息,请参阅。这是否回答了您的问题?