Java常用的工具类之字符串

5 篇文章 0 订阅
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
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值