From 4645336efdc9b167f511e15376e281e06430333e Mon Sep 17 00:00:00 2001
From: emptypoint <1215582715@qq.com>
Date: Sun, 22 Jan 2023 18:11:08 +0800
Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96ObjUtil=E6=96=87=E6=A1=A3=20?=
=?UTF-8?q?=E5=92=8C=20ClassUtil=E7=9A=84=E9=83=A8=E5=88=86=E6=96=87?=
=?UTF-8?q?=E6=A1=A3=EF=BC=9B?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../cn/hutool/core/reflect/ClassUtil.java | 52 +++++++------
.../java/cn/hutool/core/util/ObjUtil.java | 76 +++++++++----------
2 files changed, 65 insertions(+), 63 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 bae54c757..5c7de2ac7 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
@@ -314,8 +314,8 @@ public class ClassUtil {
* @since 3.2.1
*/
public static String getClassPath(final boolean isEncoded) {
- final URL classPathURL = ResourceUtil.getResourceUrl(StrUtil.EMPTY);
- final String url = isEncoded ? classPathURL.getPath() : URLUtil.getDecodedPath(classPathURL);
+ final URL classPathUrl = ResourceUtil.getResourceUrl(StrUtil.EMPTY);
+ final String url = isEncoded ? classPathUrl.getPath() : URLUtil.getDecodedPath(classPathUrl);
return FileUtil.normalize(url);
}
@@ -379,11 +379,11 @@ public class ClassUtil {
}
/**
- * 是否简单值类型或简单值类型的数组
- * 包括:原始类型,、String、other CharSequence, a Number, a Date, a URI, a URL, a Locale or a Class及其数组
+ * 是否为 简单值类型 或 简单值类型的数组
*
* @param clazz 属性类
- * @return 是否简单值类型或简单值类型的数组
+ * @return 是否为 简单值类型 或 简单值类型的数组
+ * @see #isSimpleValueType(Class)
*/
public static boolean isSimpleTypeOrArray(final Class> clazz) {
if (null == clazz) {
@@ -397,6 +397,7 @@ public class ClassUtil {
* 包括:
*
* 原始类型
+ * 枚举
* String、other CharSequence
* Number
* Date
@@ -404,23 +405,24 @@ public class ClassUtil {
* URL
* Locale
* Class
+ * jdk8时间相关类型
*
*
* @param clazz 类
* @return 是否为简单值类型
*/
public static boolean isSimpleValueType(final Class> clazz) {
- return isBasicType(clazz) //
- || clazz.isEnum() //
- || CharSequence.class.isAssignableFrom(clazz) //
- || Number.class.isAssignableFrom(clazz) //
- || Date.class.isAssignableFrom(clazz) //
- || clazz.equals(URI.class) //
- || clazz.equals(URL.class) //
- || clazz.equals(Locale.class) //
- || clazz.equals(Class.class)//
+ return isBasicType(clazz)
+ || clazz.isEnum()
+ || CharSequence.class.isAssignableFrom(clazz)
+ || Number.class.isAssignableFrom(clazz)
+ || Date.class.isAssignableFrom(clazz)
+ || clazz.equals(URI.class)
+ || clazz.equals(URL.class)
+ || clazz.equals(Locale.class)
+ || clazz.equals(Class.class)
// jdk8 date object
- || TemporalAccessor.class.isAssignableFrom(clazz); //
+ || TemporalAccessor.class.isAssignableFrom(clazz);
}
/**
@@ -472,14 +474,14 @@ public class ClassUtil {
* @return 是否为标准类
*/
public static boolean isNormalClass(final Class> clazz) {
- return null != clazz //
- && false == clazz.isInterface() //
- && false == ModifierUtil.isAbstract(clazz) //
- && false == clazz.isEnum() //
- && false == clazz.isArray() //
- && false == clazz.isAnnotation() //
- && false == clazz.isSynthetic() //
- && false == clazz.isPrimitive();//
+ return null != clazz
+ && false == clazz.isInterface()
+ && false == ModifierUtil.isAbstract(clazz)
+ && false == clazz.isEnum()
+ && false == clazz.isArray()
+ && false == clazz.isAnnotation()
+ && false == clazz.isSynthetic()
+ && false == clazz.isPrimitive();
}
/**
@@ -635,8 +637,8 @@ public class ClassUtil {
return false;
}
final String objectPackageName = objectPackage.getName();
- return objectPackageName.startsWith("java.") //
- || objectPackageName.startsWith("javax.") //
+ return objectPackageName.startsWith("java.")
+ || objectPackageName.startsWith("javax.")
|| clazz.getClassLoader() == null;
}
diff --git a/hutool-core/src/main/java/cn/hutool/core/util/ObjUtil.java b/hutool-core/src/main/java/cn/hutool/core/util/ObjUtil.java
index b2f0ee03a..9cf4ed471 100644
--- a/hutool-core/src/main/java/cn/hutool/core/util/ObjUtil.java
+++ b/hutool-core/src/main/java/cn/hutool/core/util/ObjUtil.java
@@ -88,10 +88,9 @@ public class ObjUtil {
return ((Map, ?>) obj).size();
}
- int count;
+ int count = 0;
if (obj instanceof Iterator || obj instanceof Iterable) {
final Iterator> iter = (obj instanceof Iterator) ? (Iterator>) obj : ((Iterable>) obj).iterator();
- count = 0;
while (iter.hasNext()) {
count++;
iter.next();
@@ -103,7 +102,6 @@ public class ObjUtil {
}
if (obj instanceof Enumeration) {
final Enumeration> enumeration = (Enumeration>) obj;
- count = 0;
while (enumeration.hasMoreElements()) {
count++;
enumeration.nextElement();
@@ -194,7 +192,7 @@ public class ObjUtil {
* 检查对象是否不为{@code null}
*
* @param obj 对象
- * @return 是否为null
+ * @return 是否不为null
*/
public static boolean isNotNull(final Object obj) {
return null != obj;
@@ -249,7 +247,7 @@ public class ObjUtil {
* 判断指定对象是否为非空
*
* @param obj 被判断的对象
- * @return 是否为空,如果类型不支持,返回true
+ * @return 是否不为空,如果类型不支持,返回true
* @since 4.5.7
* @see #isEmpty(Object)
*/
@@ -270,7 +268,7 @@ public class ObjUtil {
* @param 克隆对象 *
将对象转为字符串 *