如何在java中获取类的特殊方法?

我有一个类,在 Java中有一些方法,如下所示:

public class Class1
{
    private String a;
    private String b;


    public setA(String a_){
        this.a = a_;
    }

    public setb(String b_){
        this.b = b_;
    }

    public String getA(){
        return a;
    }

    @JsonIgnore
    public String getb(){
        return b;
    }
}

我希望得到Class1中以String get开头的所有方法,这些方法没有使用@JsonIgnore注释声明.

我该怎么做呢?

解决方法

您可以使用Java Reflection迭代所有公共和私有方法

Class1 obj = new Class1();

Class c = obj.getClass();
for (Method method : c.getDeclaredMethods()) {
    if (method.getAnnotation(JsonIgnore.class) == null &&
        method.getName().substring(0,3).equals("get")) {
        System.out.println(method.getName());
    }
}

相关文章

Java中的String是不可变对象 在面向对象及函数编程语言中,不...
String, StringBuffer 和 StringBuilder 可变性 String不可变...
序列化:把对象转换为字节序列的过程称为对象的序列化. 反序...
先说结论,是对象!可以继续往下看 数组是不是对象 什么是对...
为什么浮点数 float 或 double 运算的时候会有精度丢失的风险...
面试题引入 这里引申出一个经典问题,看下面代码 Integer a ...