From de75ff8e6309d4c51656d8ed72bfddee4862308b Mon Sep 17 00:00:00 2001 From: Looly Date: Mon, 23 May 2022 10:39:03 +0800 Subject: [PATCH] add methods --- .../cn/hutool/core/reflect/ClassUtil.java | 13 +----------- .../cn/hutool/core/reflect/ModifierUtil.java | 21 +++++++++++++++++++ 2 files changed, 22 insertions(+), 12 deletions(-) diff --git a/hutool-core/src/main/java/cn/hutool/core/reflect/ClassUtil.java b/hutool-core/src/main/java/cn/hutool/core/reflect/ClassUtil.java index 1d040b686..6ee8b30bb 100644 --- a/hutool-core/src/main/java/cn/hutool/core/reflect/ClassUtil.java +++ b/hutool-core/src/main/java/cn/hutool/core/reflect/ClassUtil.java @@ -16,7 +16,6 @@ import cn.hutool.core.util.CharsetUtil; import java.io.IOException; import java.lang.annotation.Annotation; -import java.lang.reflect.Modifier; import java.lang.reflect.Type; import java.net.URI; import java.net.URL; @@ -461,16 +460,6 @@ public class ClassUtil { } } - /** - * 是否为抽象类 - * - * @param clazz 类 - * @return 是否为抽象类 - */ - public static boolean isAbstract(final Class clazz) { - return Modifier.isAbstract(clazz.getModifiers()); - } - /** * 是否为标准的类
* 这个类必须: @@ -490,7 +479,7 @@ public class ClassUtil { public static boolean isNormalClass(final Class clazz) { return null != clazz // && false == clazz.isInterface() // - && false == isAbstract(clazz) // + && false == ModifierUtil.isAbstract(clazz) // && false == clazz.isEnum() // && false == clazz.isArray() // && false == clazz.isAnnotation() // diff --git a/hutool-core/src/main/java/cn/hutool/core/reflect/ModifierUtil.java b/hutool-core/src/main/java/cn/hutool/core/reflect/ModifierUtil.java index ad791920f..9560e564e 100644 --- a/hutool-core/src/main/java/cn/hutool/core/reflect/ModifierUtil.java +++ b/hutool-core/src/main/java/cn/hutool/core/reflect/ModifierUtil.java @@ -192,6 +192,27 @@ public class ModifierUtil { public static boolean isAbstract(final Member member) { return hasModifier(member, ModifierType.ABSTRACT); } + + /** + * 是否抽象类 + * + * @param clazz 构造、字段或方法 + * @return 是否抽象类 + * @since 5.7.23 + */ + public static boolean isAbstract(final Class clazz) { + return hasModifier(clazz, ModifierType.ABSTRACT); + } + + /** + * 是否抽象类 + * + * @param clazz 构造、字段或方法 + * @return 是否抽象类 + */ + public static boolean isInterface(final Class clazz) { + return null != clazz && clazz.isInterface(); + } //-------------------------------------------------------------------------------------------------------- Private method start /**