• Java-小技巧-002-String 转 long


    1.转化

      long l = Long.parseLong([String]);

      相当于 long l = Long.parseLong([String],10); 


      long l = Long.valueOf("123").longValue();

    2.Long.ValueOf("String")与Long.parseLong("String")的区别

      Long.ValueOf("String")返回Long包装类型

      Long.parseLong("String")返回long基本数据类型

    3.判断字符串是否是数值类型

      3.1 java 原声Character.isDigit方法使用

        /**
         * JAVA自带的函数,缺点不能小数,负数,科学计数等含有非数字的
         * @param str
         * @return
         */
        public static boolean isNumeric(String str) {
            for (int i = 0; i < str.length(); i++) {
                System.out.println(str.charAt(i));
                if (!Character.isDigit(str.charAt(i))) {
                    return false;
                }
            }
            return true;
        }

      3.2 使用三方包org.apache.commons.lang

    用法

         * StringUtils.isNumeric(null)   = false
         * StringUtils.isNumeric("")     = true
         * StringUtils.isNumeric("  ")   = false
         * StringUtils.isNumeric("123")  = true
         * StringUtils.isNumeric("12 3") = false
         * StringUtils.isNumeric("ab2c") = false
         * StringUtils.isNumeric("12-3") = false
         * StringUtils.isNumeric("12.3") = false

    也不太理想

      3.3 正则表达式

        public static boolean isNumeric(String str) {
            // 该正则表达式可以匹配所有的数字 包括负数
            Pattern pattern = Pattern.compile("-?[0-9]+\.?[0-9]*");
            String bigStr;
            try {
                bigStr = new BigDecimal(str).toString();
            } catch (Exception e) {
                return false;// 异常 说明包含非数字。
            }
    
            Matcher isNum = pattern.matcher(bigStr); // matcher是全匹配
            if (!isNum.matches()) {
                return false;
            }
            return true;
        }
  • 相关阅读:
    STL目录
    Hola!
    SWPUCTF 2019总结以及部分WP
    SQL手工注入基础篇
    JDK11,JDK12没有JRE的解决方法
    FJUT2019暑假周赛三部分题解
    FJUT2019暑假周赛一题解
    随笔1
    关于针对本校教务系统漏洞的一次信息检索
    KMP算法讲解
  • 原文地址:https://www.cnblogs.com/bjlhx/p/6659260.html
Copyright © 2020-2023  润新知