package com.jojubanking.boot.module.system.util.xytj;

import java.util.List;
import java.util.Map;

/**
 * @Author: Lee CE
 * @Description:常用的字符串相关的工具类
 * @Date: 2018/7/12 15:19
 * @Modified:
 */
public final class StringUtil {

    /**
     * 判断是否是空字符串 null和"" 都返回 true
     *
     * @param str 判断的字符串
     * @return 是否有效
     */
    public  static boolean isEmpty(String str) {
        return str == null || str.equals("");
    }

    /**
     * 把string array or list用给定的符号symbol连接成一个字符串
     *
     * @param list   需要处理的列表
     * @param symbol 链接的符号
     * @return 处理后的字符串
     */
    public  static String joinString(List list, String symbol) {
        String result = "";
        if (list != null) {
            for (Object o : list) {
                String temp = o.toString();
                if (temp.trim().length() > 0)
                    result += (temp + symbol);
            }
            if (result.length() > 1) {
                result = result.substring(0, result.length() - 1);
            }
        }
        return result;
    }

    /**
     * @description: null转空处理
     * @param obj
     * @return java.lang.String
     * @author zmc
     * @date 2019-06-10 10:47
     */
    public static String changeNullToEmpty(Object obj) {
        if(null == obj) {
            return "";
        }
        return obj.toString();
    }

    /**
     * @description: 字符串去左右空格
     * @param obj
     * @return java.lang.String
     * @author zmc
     * @date 2019-09-10 17:17
     */
    public static String trim(Object obj) {
        String str = changeNullToEmpty(obj);
        str = str.trim();
        return str;
    }
    public static String checkKeyword(Map<String, Object> map, String keyword) {
        if (!StringUtil.isEmpty(keyword)){
            keyword = keyword.trim();
            if (!keyword.equals("")){
                map.put("keyword", keyword);
                return keyword;
            }
        }
        return null;
    }

}
