Java字符串工具类

Java字符串工具类
1、判断字符串是否为空
2、将数组对象用间隔符flag拼接起来(flag可以自定义)
3、对象是否为null或空白字符串
4、转换为Boolean,如果原值为空,则返回空
5、转换为Boolean。如果原值为空,则返回false
6、转换为Integer,如果原值为空,则返回空
7、字符串是否为正整数
8、字符串格式化. 支持 {0},{1} 的patten

代码:

/**
 * 字符串工具类
 */
public class StringUtils {

    /**
     * 判断字符串是否为空
     * @param str
     * @return true 不为空 false 空
     */
    public static boolean notNull(String str) {
        if ((null != str) && (!"".equals(str.trim()))) {
            return true;
        }
        return false;
    }

    /**
     * 将数组对象用间隔符flag拼接起来
     * @param  o 
     * @return true 不为空 false 空
     */
    public static String join( Object[] o , String flag ){
        StringBuffer str_buff = new StringBuffer();

        for(int i=0 , len=o.length ; i<len ; i++){
            str_buff.append( String.valueOf( o[i] ) );
            if(i<len-1)str_buff.append( flag );
        }

        return str_buff.toString(); 
    }

     /**
     * 对象是否为null或空白字符串
     * @param string
     * @return
     */
    public static boolean isBlank(Object string) {
        if (string == null) {
            return true;
        } else if (string.toString().trim().equals("")) {
            return true;
        } else {
            return false;
        }
    }

    /**
     * 转换为Boolean,如果原值为空,则返回空
     * @param obj
     * @return
     */
    public static Boolean parseBoolean(Object obj) {
        if (isBlank(obj)) {
            return null;
        } else {
            return Boolean.parseBoolean(obj.toString());
        }
    }

    /**
     * 转换为Boolean。如果原值为空,则返回false
     * @param obj
     * @return
     */
    public static Boolean parseBooleanReturnFalseIfNull(Object obj) {
        if (isBlank(obj)) {
            return false;
        } else {
            return Boolean.parseBoolean(obj.toString());
        }
    }

    /**
     * 转换为Integer,如果原值为空,则返回空
     * @param obj
     * @return
     */
    public static Integer parseInteger(Object obj) {
        if (isBlank(obj)) {
            return null;
        } else {
            return Integer.parseInt(obj.toString());
        }
    }

    /**
     * 字符串是否为正整数
     * @param string
     * @return
     */
    public static boolean isNumber(String string) {
        if (isBlank(string)) {
            return false;
        }
        for (Character c : string.toCharArray()) {
            if (!Character.isDigit(c)) {
                return false;
            }
        }
        return true;
    }

    /**
     * 字符串格式化. 支持 {0},{1} 的patten
     * @param str
     * @param args
     * @return
     */
    public static String format(String str, Object... args) {
        Pattern patten = Pattern.compile("\\{\\d+\\}");
        Matcher matcher = patten.matcher(str);
        StringBuffer sb = new StringBuffer();
        while (matcher.find()) {
            String pos = matcher.group();
            String indexString = pos.substring(1, pos.length() - 1);
            Integer index = Integer.parseInt(indexString);
            // 判断参数索引是否存在
            if (index >= args.length) {
                throw new RuntimeException("在位置" + pos + "找不到参数数组对应索引的值。原始语句为:" + str);
            }
            matcher.appendReplacement(sb, toString(args[index]));
        }
        matcher.appendTail(sb);
        return sb.toString();
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值