【开源中国 APP 全新上线】“动弹” 回归、集成大模型对话、畅读技术报告”
下面是POJO实例:
class P {
private int id;private String name;
private int age;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
下面是要实现的过程实例:
public class M {
/**
* @param args
*/
public static void main(String[] args) {
P p = new P();
//如何应用对象p来得到类P的的id、name、age三个属性及类型
}
}
引用来自“lcyu”的答案
那我用下面这样应用就可以显示属性名吧?
for(int i =1;i<p.getClass().getFields().length;i++){
System.out.println(p.getClass().getFields()[i]);
}
引用来自“石岩”的答案
引用来自“lcyu”的答案
那我用下面这样应用就可以显示属性名吧?
for(int i =1;i<p.getClass().getFields().length;i++){
System.out.println(p.getClass().getFields()[i]);
}
不行,必须是getDeclaredFields(),另外你那循环写成:
for(Field field : p.getClass().getDeclaredFields())
System.out.println(field);
效果更好。
引用来自“东明”的答案
引用来自“石岩”的答案
引用来自“lcyu”的答案
那我用下面这样应用就可以显示属性名吧?
for(int i =1;i<p.getClass().getFields().length;i++){
System.out.println(p.getClass().getFields()[i]);
}
不行,必须是getDeclaredFields(),另外你那循环写成:
for(Field field : p.getClass().getDeclaredFields())
System.out.println(field);
效果更好。
引用来自“石岩”的答案
引用来自“东明”的答案
引用来自“石岩”的答案
引用来自“lcyu”的答案
那我用下面这样应用就可以显示属性名吧?
for(int i =1;i<p.getClass().getFields().length;i++){
System.out.println(p.getClass().getFields()[i]);
}
不行,必须是getDeclaredFields(),另外你那循环写成:
for(Field field : p.getClass().getDeclaredFields())
System.out.println(field);
效果更好。
这就是输出的结果:
private int com.xp.test.P.id
private java.lang.String com.xp.test.P.name
private int com.xp.test.P.age
这是单纯的得到id、name、age的结果不符呀。
引用来自“高东”的答案