mirror of
https://github.com/dataease/dataease.git
synced 2026-05-20 19:48:18 +08:00
perf(X-Pack): 日志模块使用异步线程避免与主线程事务相互影响
This commit is contained in:
45
sdk/common/src/main/java/io/dataease/utils/DeClassUtils.java
Normal file
45
sdk/common/src/main/java/io/dataease/utils/DeClassUtils.java
Normal file
@@ -0,0 +1,45 @@
|
||||
package io.dataease.utils;
|
||||
|
||||
public class DeClassUtils {
|
||||
|
||||
public static boolean isPrimitiveOrWrapper(Object obj) {
|
||||
if (obj == null) {
|
||||
return false;
|
||||
}
|
||||
|
||||
Class<?> objClass = obj.getClass();
|
||||
for (Class<?> primitiveWrapper : primitiveWrappers) {
|
||||
if (primitiveWrapper.isAssignableFrom(objClass)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return isPrimitive(objClass);
|
||||
}
|
||||
|
||||
private static boolean isPrimitive(Class<?> clazz) {
|
||||
if (clazz.isPrimitive()) {
|
||||
return true;
|
||||
}
|
||||
|
||||
String name = clazz.getName();
|
||||
for (String primitiveTypeName : primitiveTypeNames) {
|
||||
if (name.equals(primitiveTypeName)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
private static final Class<?>[] primitiveWrappers = {
|
||||
Boolean.class, Character.class, Byte.class, Short.class,
|
||||
Integer.class, Long.class, Float.class, Double.class
|
||||
};
|
||||
|
||||
private static final String[] primitiveTypeNames = {
|
||||
"boolean", "char", "byte", "short",
|
||||
"int", "long", "float", "double"
|
||||
};
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user