我想要一种将Java对象转换为HTML表的通用方法,该表包含该对象的成员变量作为列名,并包含该成员的值作为表中的值,如下所示:
class Person {
public String _name;
public int _age;
public Person(){
this._name = "John Doe";
this._age = 2;
}
};
如果我类型为person的对象,我希望输出是这样的。
---------------------------
| _name | _age |
---------------------------
| John Doe | 2 |
---------------------------
问题是我无法访问课程代码。
是否存在一种通用的方法来实现可以接受任何类型的Java对象并打印成员变量及其值的函数?
我曾考虑过使用toString()
,但这没有帮助,因为我无法覆盖它。
如果这是课程
class Person {
public String _name;
public int _age;
public Person(){
this._name = "John Doe";
this._age = 2;
}
};
然后应该是PrintobjectToHTML();
的输出
---------------------------
| _name | _age |
---------------------------
| John Doe | 2 |
---------------------------
答案 0 :(得分:1)
您可以使用反射来实现。您可以为此使用Class类(请参见-> https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html)。
示例:
Person p = new Person();
Class cls = p.getClass();
Field[] fields = cls.getDeclaredFields();
// loop through fields
for (Field field: fields) {
Object value = field.get(p);
// print value as html
}