目录
- 1.StringUtils 和 StringUtil
- StringUtils 的依赖:
- StringUtils 的用法:
- StringUtil 工具类
- 2. isNotEmpty() 和 isNotBlank()
1.StringUtils 和 StringUtil
注:StringUtils 和 StringUtil 的区别(StringUtil为自定义工具类)
方法\工具类 | StringUtils | StringUtil |
---|---|---|
.isEmpty() | 成立 | 成立 |
.isNotEmpty() | 成立 | 不成立 |
.isBlank() | 成立 | 不成立 |
StringUtils 的依赖:
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.5</version>
</dependency>
StringUtils 的用法:
import org.apache.commons.lang3.StringUtils;
public class main {
public static void main(String[] args) {
String scheme = "";
System.out.println(StringUtils.isBlank(scheme)); //true
System.out.println(StringUtils.isEmpty(scheme)); //true
System.out.println(StringUtils.isNotBlank(scheme)); //false
System.out.println(StringUtils.isNotEmpty(scheme)); //false
}
}
StringUtil 工具类
package com.ectit.utils;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Component;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.Map;
/**
* <p>
* 字符串格式化
* </p>
*
* @author exsun
* @since 2021-11-10
*/
@Slf4j
@Component
public class StringUtil {
private StringUtil() {
}
public static boolean isEmpty(Object aObj) {
if (aObj instanceof String) {
return isEmpty((String) aObj);
} else if (aObj instanceof Long) {
return isEmpty((Long) aObj);
} else if (aObj instanceof java.util.Date) {
return isEmpty((java.util.Date) aObj);
} else if (aObj instanceof Collection) {
return isEmpty((Collection) aObj);
} else if (aObj instanceof Map) {
return isEmpty((Map) aObj);
} else if (aObj != null && aObj.getClass().isArray()) {
return isEmptyArray(aObj);
} else {
return isNull(aObj);
}
}
private static boolean isEmptyArray(Object array) {
int length = 0;
if (array instanceof int[]) {
length = ((int[]) array).length;
} else if (array instanceof byte[]) {
length = ((byte[]) array).length;
} else if (array instanceof short[]) {
length = ((short[]) array).length;
} else if (array instanceof char[]) {
length = ((char[]) array).length;
} else if (array instanceof float[]) {
length = ((float[]) array).length;
} else if (array instanceof double[]) {
length = ((double[]) array).length;
} else if (array instanceof long[]) {
length = ((long[]) array).length;
} else if (array instanceof boolean[]) {
length = ((boolean[]) array).length;
} else {
length = ((Object[]) array).length;
}
return length == 0;
}
public static boolean isEmpty(java.util.Date aDate) {
return aDate == null;
}
public static boolean isEmpty(Long aLong) {
return aLong == null;
}
public static boolean isEmpty(Map m) {
return m == null || m.size() == 0;
}
public static boolean isEmpty(Collection c) {
return c == null || c.isEmpty();
}
public static boolean isEmpty(String aStr) {
return aStr == null || aStr.trim().isEmpty();
}
public static String trim(String aStr) {
if (aStr == null) {
return null;
} else {
return aStr.trim();
}
}
public static boolean isNull(Object oStr) {
return oStr == null;
}
public static boolean equals(String str1, String str2) {
return str1 != null ? str1.equals(str2) : str2 == null;
}
public static boolean equals(Long l1, Long l2) {
return l1 != null ? l1.equals(l2) : l2 == null;
}
public static boolean equals(Object obj1, Object obj2) {
boolean result;
if (obj1 != null) {
result = obj1.equals(obj2);
} else {
result = (obj2 == null);
}
return result;
}
public static boolean equalsIgnoreCase(String str1, String str2) {
return str1 != null ? str1.equalsIgnoreCase(str2) : str2 == null;
}
public static List<Integer> StringToList(String str) {
List<Integer> list = new ArrayList<Integer>();
if (StringUtils.isNotEmpty(str)) {
String[] a = str.split(",");
for (String b : a) {
list.add(Integer.parseInt(b));
}
}
return list;
}
}
2. isNotEmpty() 和 isNotBlank()
isNotEmpty() 和 isNotBlank() 是 StringUtils 工具包下两个判断字符串是否为空的方法
- isNotEmpty()
判断某字符串是否非空
public static void main(String[] args) {
System.out.println(StringUtils.isNotEmpty(null)); // = false;
System.out.println(StringUtils.isNotEmpty("")); // false;
System.out.println(StringUtils.isNotEmpty(" ")); // true;
System.out.println(StringUtils.isNotEmpty("the 8"));// true;
System.out.println(StringUtils.isNotEmpty("\t")); // true;
//回退符\b
System.out.println(StringUtils.isNotEmpty("\b")); // true;
}
- isNotBlank()
判断某字符串是否不为空 且长度不为0 且不由空白符(whitespace)构成,
public static void main(String[] args) {
System.err.println(StringUtils.isNotBlank(null)); // false
System.err.println(StringUtils.isNotBlank("")); // false
System.err.println(StringUtils.isNotBlank(" ")); // false
System.err.println(StringUtils.isNotBlank("\t \n \f \r")); // false
System.out.println(StringUtils.isNotBlank("\t")); // false
//回退符\b
System.out.println(StringUtils.isNotBlank("\b")); // true;
}
-
补充: 回退符 \b
-
区别
StringUtils.isNotEmpty(str) 等价于:
str != null && str.length > 0
StringUtils.isNotBlank(str) 等价于:
str != null && str.length > 0 && str.trim().length > 0
即:判断是否 == null 的同时,还需要判断 length 是否 > 0
原文链接:https://blog.csdn.net/qq_38967583/article/details/109338200