中的元素的逻辑函数。
我想从类中获得所有方法,但不包括继承的方法,如:wait, toString, hash等。
是否有一个内置的方式来做到这一点,或者我需要定义一个黑名单,并检查方法名称对它吗?
可以忽略
for(Method method: clazz.getMethods()) {
if(method.getDeclaringClass() == Object.class) continue;
}
注意:这将包括子类中重写的方法。
如果你不想要任何继承方法,你可以使用
for(Method method: clazz.getDeclaredMethods()) {
使用MyClass.getDeclaredMethods()
crazz . getdeclaredmethods()将交付由当前类定义的方法(从而有效地排除继承的方法)。然而,典型的模式是沿着类层次结构往上走并排除来自Object
您可以使用集合共享。
你只需要声明一个谓词,然后使用:
CollectionUtils.filter(collection, predicate);
集合是方法的集合。谓词是接受列表