StringUtils-isNumeric

出现判断某个字符串是否能转换能数字的需求时,应该如何处理?

一 拍脑袋方案:String转Integer异常判断

package test.stringutils;

import org.apache.commons.lang3.StringUtils;

public class StringUtilsDemo {

    public static void main(String[] args) {

        String str1 = "123";
        String str2 = "hello world";

        System.out.println(isNumber(str1));
        System.out.println(isNumber(str2));

    }

    public static boolean isNumber(String string) {
        try {
            Integer.parseInt(string);
            return true;
        } catch (Exception e) {
            return false;
        }
    }
}

输出结果:

true
false

虽然能实现,但通过异常判断进行处理,有点太暴力。

二 使用StringUtils的方法isNumeric(org.apache.commons.lang3.StringUtils)

package test.stringutils;

import org.apache.commons.lang3.StringUtils;

public class StringUtilsDemo {

    public static void main(String[] args) {

        String str1 = "123";
        String str2 = "hello world";

        System.out.println(StringUtils.isNumeric(str1));
        System.out.println(StringUtils.isNumeric(str2));

    }

}

输出结果:

true
false

这个方案比较优雅,尤其是一些工具类,有现成的轮子就用现成的,没必要重复造轮子。

原文地址:https://www.cnblogs.com/silenceshining/p/13334107.html