遇到各种形式的String需要判空,或者类似于map结构里需要检查是否包含某key,且某key是否为空,代码写起来又丑又长,所以简单的整理一下,欢迎工作中遇到可以优化的写法,留言,我一并整理下。
package cn.**.**.**.common.util;
import org.apache.commons.lang3.StringUtils;
import java.util.Map;
/**
* @author <a href="mailto:934804229@qq.cn">Tastill</a>
* @version 2020/3/11 15:34
* @description String操作工具类,简化代码
*/
public class StringUtilsTotal extends StringUtils {
/**
* @description 判空支持Obj
* @param
* @return
* @version 2.0, 2020/3/11 15:37
* @author <a href="mailto:934804229@qq.cn">Tastill</a>
*/
public static boolean isBlank(final Object cs) {
String str = cs != null ? cs.toString() : "";
return isBlank(str);
}
/**
* @description 判空支持Obj
* @param
* @return
* @version 2.0, 2020/3/11 15:42
* @author <a href="mailto:934804229@qq.cn">Tastill</a>
*/
public static boolean isNotBlank(final Object cs) {
return !isBlank(cs);
}
/**
* @description 判断map中是否包含该key值,且该key值不为空
* @param
* @return
* @version 2.0, 2020/3/11 16:51
* @author <a href="mailto:934804229@qq.cn">Tastill</a>
*/
public static boolean containsKeyAndIsNotBlank(String key, Map map) {
if (map == null || isBlank(key)){
return false;
}
if (!map.containsKey(key)){
return false;
}
return !isBlank(map.get(key));
}
/**
* @description 已知value和map里的key值比较
* @param
* @return
* @version 2.0, 2020/3/11 17:39
* @author <a href="mailto:934804229@qq.cn">Tastill</a>
*/
public static boolean equals(String value,String key, Map map) {
if (map == null || isBlank(key)){
return false;
}
if (!map.containsKey(key)){
return false;
}
String value2 = map.get(key) != null ? map.get(key).toString() : null;
return equals(value,value2);
}
}