package com.jzq.common; 
 | 
  
 | 
import org.apache.commons.lang3.StringUtils; 
 | 
  
 | 
  
 | 
/** 
 | 
 * 基本工具类 
 | 
 * @author yfx 
 | 
 * 
 | 
 */ 
 | 
public abstract class CommonUtil { 
 | 
  
 | 
    /** 
 | 
     * 去空,null->'' 
 | 
     *  
 | 
     * @param str 
 | 
     * @return 
 | 
     */ 
 | 
    public static String trim(String str, String def) { 
 | 
        if (str == null || "null".equals(str.trim()) || "".equals(str.trim())) { 
 | 
            return def; 
 | 
        } else { 
 | 
            return str.trim(); 
 | 
        } 
 | 
    } 
 | 
  
 | 
    /** 
 | 
     * 去空,null->'' 
 | 
     *  
 | 
     * @param str 
 | 
     * @return 
 | 
     */ 
 | 
    public static String trim(String str) { 
 | 
        if (str == null || "null".equals(str.trim())) { 
 | 
            return ""; 
 | 
        } else { 
 | 
            return str.trim(); 
 | 
        } 
 | 
    } 
 | 
  
 | 
    /** 
 | 
     * 去空,支持sql(发现为空时返回null) 
 | 
     *  
 | 
     * @param str 
 | 
     * @return 
 | 
     */ 
 | 
    public static String trimForSql(String str) { 
 | 
        if (str == null || "".equals(str.trim()) || "null".equals(str.trim())) { 
 | 
            return null; 
 | 
        } else { 
 | 
            return str.trim(); 
 | 
        } 
 | 
    } 
 | 
  
 | 
    /** 
 | 
     * 默认转换 
 | 
     *  
 | 
     * @param obj 
 | 
     * @param cla 
 | 
     * @return 
 | 
     */ 
 | 
    @SuppressWarnings("unchecked") 
 | 
    public static <T> T parVal(Object obj, Class<T> cla) { 
 | 
        if (cla.equals(String.class)) { 
 | 
            if (obj == null || "".equals(obj + "") || "null".equals(obj)) { 
 | 
                return (T) ""; 
 | 
            } else { 
 | 
                return (T) (obj + ""); 
 | 
            } 
 | 
        } else { 
 | 
            try { 
 | 
                if (obj == null) 
 | 
                    return null; 
 | 
                if (cla.equals(Integer.class)) 
 | 
                    return (T) Integer.valueOf(obj + ""); 
 | 
                if (cla.equals(Long.class)) 
 | 
                    return (T) Long.valueOf(obj + ""); 
 | 
                if (cla.equals(Float.class)) 
 | 
                    return (T) Float.valueOf(obj + ""); 
 | 
                if (cla.equals(Double.class)) 
 | 
                    return (T) Double.valueOf(obj + ""); 
 | 
                if (cla.equals(Boolean.class)) 
 | 
                    return (T) Boolean.valueOf(obj + ""); 
 | 
                return (T) obj; 
 | 
            } catch (Exception e) { 
 | 
                throw new RuntimeException("CommonUtil.parVal error|obj:" + obj+ ",class:" + cla); 
 | 
            } 
 | 
        } 
 | 
    } 
 | 
  
 | 
    /** 
 | 
     * 不返回错误的转换 
 | 
     *  
 | 
     * @param obj 
 | 
     * @param cla 
 | 
     * @return 
 | 
     */ 
 | 
    public static <T> T parValNoErr(Object obj, Class<T> cla) { 
 | 
        try { 
 | 
            return parVal(obj, cla); 
 | 
        } catch (Exception e) { 
 | 
            return null; 
 | 
        } 
 | 
    } 
 | 
  
 | 
    /** 
 | 
     * 不返回错误的转换,为空或异常时返回默认值 
 | 
     * @param obj 
 | 
     * @param cla 
 | 
     * @param t 
 | 
     * @return 
 | 
     */ 
 | 
    public static <T> T parValNoErrDef(Object obj, Class<T> cla, T t) { 
 | 
        try { 
 | 
            T t1 = parVal(obj, cla); 
 | 
            if (t1 == null || (cla.equals(String.class) && "".equals(t1))) { 
 | 
                return t; 
 | 
            } 
 | 
            return t1; 
 | 
        } catch (Exception e) { 
 | 
            return t; 
 | 
        } 
 | 
    } 
 | 
  
 | 
    /** 
 | 
     * 补位数据 ,前补0 
 | 
     * @param src 
 | 
     * @param length 
 | 
     * @return 
 | 
     */ 
 | 
    public static String conver0(Object src, int length) { 
 | 
        if(src instanceof Number){ 
 | 
            return String.format("%0"+length+"d",src); 
 | 
        }else if(src instanceof String){ 
 | 
            String str1=((String)src); 
 | 
            if(str1.length()<length){ 
 | 
                return conver0(0,length-str1.length())+str1; 
 | 
            }else{ 
 | 
                return str1; 
 | 
            } 
 | 
        }else{ 
 | 
            return src+""; 
 | 
        } 
 | 
    } 
 | 
     
 | 
    /** 
 | 
     * 遮挡字符串 
 | 
     * 1、当字符串的长度小于总显示的位数时,将把字符串所有字符以*返回 
 | 
     * 2、当字符串的长度等于总显示的位数时,将把字符串前面位数显示后面位数以*拼接 
 | 
     * 3、当字符串的长度大于总显示的位数时,将把字符串前面与后面位数显示出来,中间以*拼接 
 | 
     * @param str 
 | 
     * @param a 字符串显示前几位 
 | 
     * @param b 字符串显示后几位 
 | 
     * @return 
 | 
     */ 
 | 
    public static String privacyStr(String str,int a,int b){ 
 | 
        if (StringUtils.isBlank(str)) { 
 | 
            return null; 
 | 
        } 
 | 
        int length = str.length(); 
 | 
        String start = ""; 
 | 
        String end = ""; 
 | 
        String temp = ""; 
 | 
        int le = 0; 
 | 
        int num = a+b; 
 | 
        if (length<num) { 
 | 
            le = length; 
 | 
        }else if (length==num) { 
 | 
            le = length-a; 
 | 
            start = str.substring(0, a); 
 | 
        }else if (length>num) { 
 | 
            start = str.substring(0, a); 
 | 
            end = str.substring(length-b); 
 | 
            le = length-num; 
 | 
        } 
 | 
        for (int i = 0; i < le; i++) { 
 | 
            temp+="*"; 
 | 
        } 
 | 
        return start+temp+end; 
 | 
    } 
 | 
     
 | 
  
 | 
} 
 |