Java反射:访问getter方法



代码

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);

相关内容

  • 没有找到相关文章

最新更新