diff --git a/hutool-core/src/main/java/org/dromara/hutool/core/reflect/ClassUtil.java b/hutool-core/src/main/java/org/dromara/hutool/core/reflect/ClassUtil.java index 3b70ca2eb..a79ead508 100644 --- a/hutool-core/src/main/java/org/dromara/hutool/core/reflect/ClassUtil.java +++ b/hutool-core/src/main/java/org/dromara/hutool/core/reflect/ClassUtil.java @@ -833,7 +833,7 @@ public class ClassUtil { } /** - *
按广度优先遍历包括{@code root}在内,其层级结构中的所有类和接口。
+ *
按广度优先遍历包括{@code root}在内,其层级结构中的所有类和接口。
* 类遍历顺序如下:
*
用于匹配被指定注解标注、或注解层级结构中存在指定注解的方法的方法匹配器。
+ *
用于匹配被指定注解标注、或注解层级结构中存在指定注解的方法的方法匹配器。
* 比如:指定注解为 {@code @Annotation},则匹配直接被{@code @Annotation}标注的方法。
*
* @param annotationType 注解类型
@@ -137,7 +137,7 @@ public class MethodMatcherUtil {
}
/**
- *
用于匹配被指定注解标注、或注解层级结构中存在指定注解的方法的方法匹配器。
+ *
用于匹配被指定注解标注、或注解层级结构中存在指定注解的方法的方法匹配器。
* 比如:指定注解为 {@code @Annotation},则匹配:
*
用于匹配声明方法的类的层级接口中,存在任意类被指定注解标注、或注解层级结构中存在指定注解的方法的方法匹配器。
+ *
用于匹配声明方法的类的层级接口中,存在任意类被指定注解标注、或注解层级结构中存在指定注解的方法的方法匹配器。
* 比如:指定注解为 {@code @Annotation},则匹配:
*
用于匹配方法本身或声明方法的类上,直接被指定注解标注、或注解层级结构中存在指定注解的方法的方法匹配器。
+ *
用于匹配方法本身或声明方法的类上,直接被指定注解标注、或注解层级结构中存在指定注解的方法的方法匹配器。
* 比如:指定注解为 {@code @Annotation},则匹配:
*
匹配规则 - *
方法查找的规则由{@link MethodMetadataLookup}实现。
- * 规定,当{@link MethodMetadataLookup#inspect(Method)}方法返回元数据不为{@code null}时,则认为方法与其匹配,返回结果时将同时返回匹配的方法与元数据。
- * 因此,我们可以通过实现{@link MethodMetadataLookup}接口来同时实现方法的查找与元数据的获取:
+ *
方法查找的规则由{@link MethodMetadataLookup}实现。
+ * 规定,当{@link MethodMetadataLookup#inspect(Method)}方法返回元数据不为{@code null}时,则认为方法与其匹配,返回结果时将同时返回匹配的方法与元数据。
+ * 因此,我们可以通过实现{@link MethodMetadataLookup}接口来同时实现方法的查找与元数据的获取:
* 比如,我们希望查找所有方法上带有{@code Annotation}注解的方法,则可以实现如下:
*
{@code * Mapmethods = MethodScanner.findFromAllMethods(Foo.class, method -> method.getAnnotation(Annotation.class)); @@ -51,9 +51,9 @@ import java.util.function.Predicate; * 缓存 *
对于{@link #getDeclaredMethods}与{@link #getMethods}方法与基于这两个方法实现的, * 所有{@code xxxFromMethods}与{@code xxxFromDeclaredMethods}方法, - * 都提供了缓存基于{@link WeakConcurrentMap}的缓存支持。
+ * 都提供了缓存基于{@link WeakConcurrentMap}的缓存支持。
* {@link #getAllMethods}与所有{@code xxxFromAllMethods}方法都基于{@link #getDeclaredMethods}实现, - * 但是每次全量查找,都需要重新遍历类层级结构,因此会带来一定的额外的性能损耗。
+ * 但是每次全量查找,都需要重新遍历类层级结构,因此会带来一定的额外的性能损耗。
* 缓存在GC时会被回收,但是也可以通过{@link #clearCaches}手动清除缓存。 * * @author huangchengxing