diff --git a/hutool-core/src/main/java/org/dromara/hutool/core/reflect/TypeUtil.java b/hutool-core/src/main/java/org/dromara/hutool/core/reflect/TypeUtil.java
index 768065df8..3bcb89401 100644
--- a/hutool-core/src/main/java/org/dromara/hutool/core/reflect/TypeUtil.java
+++ b/hutool-core/src/main/java/org/dromara/hutool/core/reflect/TypeUtil.java
@@ -305,7 +305,7 @@ public class TypeUtil {
if (type instanceof Class) {
final ParameterizedType[] generics = getGenerics((Class>) type);
- if(generics.length > interfaceIndex){
+ if (generics.length > interfaceIndex) {
return generics[interfaceIndex];
}
}
@@ -315,6 +315,10 @@ public class TypeUtil {
/**
* 获取指定类所有泛型父类和泛型接口
+ *
+ * - 指定类及其所有的泛型父类
+ * - 指定类实现的直接泛型接口
+ *
*
* @param clazz 类
* @return 泛型父类或接口数组
@@ -324,9 +328,9 @@ public class TypeUtil {
final List result = ListUtil.of(false);
// 泛型父类(父类及祖类优先级高)
final Type genericSuper = clazz.getGenericSuperclass();
- if(null != genericSuper && !Object.class.equals(genericSuper)){
+ if (null != genericSuper && !Object.class.equals(genericSuper)) {
final ParameterizedType parameterizedType = toParameterizedType(genericSuper);
- if(null != parameterizedType){
+ if (null != parameterizedType) {
result.add(parameterizedType);
}
}
diff --git a/hutool-db/src/test/java/org/dromara/hutool/db/IssueI7GUKOTest.java b/hutool-db/src/test/java/org/dromara/hutool/db/IssueI7GUKOTest.java
index b7a84988b..cc0d9df75 100755
--- a/hutool-db/src/test/java/org/dromara/hutool/db/IssueI7GUKOTest.java
+++ b/hutool-db/src/test/java/org/dromara/hutool/db/IssueI7GUKOTest.java
@@ -12,21 +12,28 @@
package org.dromara.hutool.db;
+import org.dromara.hutool.core.collection.CollUtil;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
+import java.util.Set;
+
public class IssueI7GUKOTest {
+
@Test
void entityTest() {
final Entity entity = Entity.of("data")
- .set("sort", "test")
+ .set("sort", "")
.set("pcode", "test")
- .set("code", "test")
+ .set("code", "")
.set("define", "test")
- .set("icon", "test")
+ .set("icon", "")
.set("label", "test")
.set("stu", "test");
Assertions.assertEquals("[sort, pcode, code, define, icon, label, stu]", entity.keySet().toString());
+
+ final Set keys = CollUtil.removeEmpty(entity.keySet());
+ Assertions.assertEquals("[sort, pcode, code, define, icon, label, stu]", keys.toString());
}
}