jiangping
2024-01-16 c2f1aac8acca57f4c21f6fe6718101b01805bc72
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
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;
    }
    
 
}