代码
import java.beans.*
for (PropertyDescriptor pd : Introspector.getBeanInfo(Foo.class).getPropertyDescriptors()) {
if (pd.getReadMethod() != null && !"class".equals(pd.getName()))
System.out.println(pd.getReadMethod().invoke(foo));
}
这段代码返回类的getter,但是我试图按照属性的顺序访问getter,我可以将它们的值设置为。
如何以特定顺序访问getter ?
定义类,然后在实例中获取所有方法,然后使用流过滤getter
public class Pint {
private int x;
private int y;
private int z;
public int getX() {
return x;
}
public int getY() {
return y;
}
public int getZ() {
return z;
}
然后
Arrays.stream(p.getClass().getDeclaredMethods()).filter(x -> x.getName().contains("get")).forEach(System.out::println);