Compare commits

..

No commits in common. "601611a11fbcf9641aa594f556bd57cabdd77fc6" and "007d8d2f16929ead08188a0a98e0bf2988053ee2" have entirely different histories.

3 changed files with 46 additions and 35 deletions

View File

@ -1,11 +1,11 @@
yexuejc-base 基于jdk11常用工具包
yexuejc-base 基于jdk8常用工具包
----------------------
源码地址:<br>
github:https://github.com/yexuejc/yexuejc-base
gitee:https://gitee.com/jzsw-it/yexuejc-base
### 说明
1. 支持环境java111.5.0开始支持java11请使用`1.5.x-jre11`版本)
1. 支持环境java81.5.0开始支持java11请使用`x.x.x-jre11`版本)
2. 该工具包基于springboot提取按理说适用于所有java工程
3. 其中依赖jjwt相关、validation-api排除请使用
> ```
@ -23,7 +23,7 @@ gitee:https://gitee.com/jzsw-it/yexuejc-base
7. 从`1.5.0`开始,版本分为`1.5.0-jre8``1.5.0-jre11`分别对于jre8和jre11使用
### 使用
>yexuejc.base.version=1.5.1-jre11
>yexuejc.base.version=1.5.0-jre8
pom.xml
```

View File

@ -1,14 +1,5 @@
package com.yexuejc.base.util;
import java.io.IOException;
import java.io.InputStream;
import java.sql.Timestamp;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.Map;
import java.util.TimeZone;
import java.util.logging.Logger;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.core.JsonParseException;
@ -33,6 +24,15 @@ import com.yexuejc.base.converter.LocalDateTimeSerializer;
import com.yexuejc.base.converter.TimestampDeserializer;
import com.yexuejc.base.converter.TimestampSerializer;
import java.io.IOException;
import java.io.InputStream;
import java.sql.Timestamp;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.Map;
import java.util.TimeZone;
import java.util.logging.Logger;
/**
* json工具类基于jackson
*
@ -42,7 +42,7 @@ import com.yexuejc.base.converter.TimestampSerializer;
* @date 2018/9/3 15:28
*/
public class JsonUtil {
private static final Logger log = Logger.getLogger(JsonUtil.class.getName());
private static Logger log = Logger.getLogger(JsonUtil.class.getName());
private JsonUtil() {
}
@ -50,9 +50,10 @@ public class JsonUtil {
/**
* 作为单例全局使用
*/
private static final JsonMapper jsonMapper = new JsonMapper();
private static JsonMapper jsonMapper = new JsonMapper();
static {
JsonUtil.setJavaTimeModule(JsonUtil.jsonMapper);
JsonUtil.initDefaultObjectMapper(JsonUtil.jsonMapper);
}
@ -93,17 +94,14 @@ public class JsonUtil {
* </pre>
*
* @param jsonMapper
* @return
*/
private static ObjectMapper initDefaultObjectMapper(ObjectMapper jsonMapper) {
JsonUtil.setJavaTimeModule(jsonMapper);
private static void initDefaultObjectMapper(ObjectMapper jsonMapper) {
//值为空时NON_NULL舍去字段ALWAYS:保留字段
jsonMapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);
jsonMapper.configure(JsonParser.Feature.ALLOW_SINGLE_QUOTES, true);
jsonMapper.configure(JsonParser.Feature.ALLOW_UNQUOTED_FIELD_NAMES, true);
jsonMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
jsonMapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false);
return jsonMapper;
}
/**
@ -123,7 +121,8 @@ public class JsonUtil {
*
* @return
*/
public static ObjectMapper acceptEmptyStringAsNullObject(JsonMapper jsonMapper) {
public static ObjectMapper acceptEmptyStringAsNullObject() {
JsonMapper jsonMapper = new JsonMapper();
setJavaTimeModule(jsonMapper);
//值为空时ALWAYS:保留字段默认字符串值为对象值为null
jsonMapper.setSerializationInclusion(JsonInclude.Include.ALWAYS);

View File

@ -1,7 +1,8 @@
package com.yexuejc.base.util;
import java.io.UnsupportedEncodingException;
import java.lang.reflect.Array;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.ArrayList;
@ -10,9 +11,9 @@ import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.Random;
import java.util.UUID;
import java.util.concurrent.ExecutionException;
import java.util.function.Consumer;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@ -32,25 +33,36 @@ public final class StrUtil {
private static char[] HEX_CHAR = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'};
/**
* 判断字符串数组集合 是否为空(null""[],{})
* 判断字符串数组集合 是否为空
*
* @param obj 対象
* @return true:;false:非空
* @param obj
* @return
*/
public static boolean isEmpty(Object obj) {
if (obj == null) {
return true;
} else if (obj instanceof Optional) {
return ((Optional<?>) obj).isEmpty();
} else if (obj instanceof CharSequence) {
return ((CharSequence) obj).length() == 0;
} else if (obj.getClass().isArray()) {
return Array.getLength(obj) == 0;
} else if (obj instanceof Collection) {
return ((Collection<?>) obj).isEmpty();
if (obj instanceof String) {
if (obj == null || "".equals((String) obj)) {
return true;
} else {
return false;
}
} else if (obj instanceof Object[]) {
if (obj == null || ((Object[]) obj).length == 0) {
return true;
} else {
return false;
}
} else if (obj instanceof Collection<?>) {
if (obj == null || ((Collection<?>) obj).size() == 0) {
return true;
} else {
return false;
}
} else {
return obj instanceof Map && ((Map<?, ?>) obj).isEmpty();
if (obj == null) {
return true;
} else {
return false;
}
}
}