Java常用的工具类之字符串

1. 字符串的工具类

1.1 判断字符为null 或者 “”(空字符串)
   public static boolean isNull(String str) {
        if (null==str) {
            return true;
        } else {
            return str.trim().length() == 0 || "".equals(str);
        }
    }
1.2 字符串右加空格符
   public static String addRightSpace(String str, int length) {
        int str_length = str.length();

        for(int i = 0; i < length - str_length; ++i) {
            str = str + ' ';
        }

        return str;
    }
1.3 字符串左加零
   public static String addLeftZero(String str, int length) {
        if (str == null) {
            str = "";
        }
        int str_length = str.length();
        for(int i = 0; i < length - str_length; ++i) {
            str = '0' + str;
        }
        return str;
    }
1.4 字符串右加零
   public static String addRightZero(String str, int length) {
        if (str == null) {
            str = "";
        }

        int str_length = str.length();

        for(int i = 0; i < length - str_length; ++i) {
            str = str + '0';
        }

        return str;
    }
1.5 十六进制字符串转字节
   public static byte[] hexStringToBytes(String src) {
        byte[] ret = new byte[src.length() / 2];
        byte[] tmp = src.getBytes();

        for(int i = 0; i < src.length() / 2; ++i) {
            ret[i] = uniteBytes(tmp[i * 2], tmp[i * 2 + 1]);
        }
        return ret;
    }
1.6 字节转十六进制字符串
   public static String bytesToHexString(byte[] src) {
        StringBuilder stringBuilder = new StringBuilder("");
        if (src != null && src.length > 0) {
            for(int i = 0; i < src.length; ++i) {
                int v = src[i] & 255;
                String hv = Integer.toHexString(v);
                if (hv.length() < 2) {
                    stringBuilder.append(0);
                }
                stringBuilder.append(hv);
            }
            return stringBuilder.toString();
        } else {
            return "";
        }
    }
1.7 字符串的高低位翻转
   public static String reverseString(String str) throws Exception {
        String sRet = "";
        int len = str.length();
        if (len % 2 == 1) {
            str = "0" + str;
            ++len;
        }
        for(int i = 0; i < len / 2; ++i) {
            sRet = sRet + str.substring(len - 2 - i * 2, len - i * 2);
        }
        return sRet;
    }
1.8 字节右加空格
   public static String addRightSpaceForBytes(String str, String charset, int length) throws UnsupportedEncodingException {
        if (str == null) {
            str = "";
        }
        byte[] strBytes = str.getBytes(charset);
        int str_length = strBytes.length;
        for(int i = 0; i < length - str_length; ++i) {
            str = str + ' ';
        }
        return str;
    }
1.9 获取时间格式的字符串
   public static String getRandomFromTime(int len, int numberflag) throws Exception {
        Random r = new Random();
        String rad = DateUtil.getSystemDateTime("yyyyMMddHHmmssSSS");
        for(int i = 17; i < len; ++i) {
            int l = r.nextInt(2);
            if (numberflag != 0 && (numberflag != 1 || l != 0)) {
                char d = (char)((int)(65.0D + Math.random() * 26.0D));
                rad = rad + String.valueOf(d);
            } else {
                int x = r.nextInt(9);
                rad = rad + Integer.toString(x);
            }
        }
        return rad;
    }

测试结果如下:(未完待续)

public static void main(String[] args) throws Exception {
        System.out.println(StringUtil.isNull("12"));//false
        System.out.println(StringUtil.isNull(""));//true
        System.out.println(StringUtil.addLeftZero("test", 8));//0000test:8指加0后的总长度
        System.out.println(StringUtil.reverseString("test"));//stte:test看成  te  st转过来就是st  te
        System.out.println(StringUtil.getRandomFromTime(20, 0));//20200803160234636662
    }

猜你喜欢

转载自blog.csdn.net/Charles_lxx/article/details/107765485