我在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
中以字符串get
开头但未使用@JsonIgnore
注释声明的所有方法。
我该怎么做?
答案 0 :(得分:4)
您可以使用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());
}
}
答案 1 :(得分:2)
您可以使用java反射。 例如
<!--Custom scripts-->
<script src="http://code.jquery.com/jquery-latest.min.js"></script>
答案 2 :(得分:1)
借助反射我们可以做到这一点。
public static void main(String[] args) {
Method[] methodArr = Class1.class.getMethods();
for (Method method : methodArr) {
if (method.getName().contains("get") && method.getAnnotation(JsonIgnore.class)==null) {
System.out.println(method.getName());
}
}
}