Java-随记-String 转 long
Posted 木子旭
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java-随记-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; }
以上是关于Java-随记-String 转 long的主要内容,如果未能解决你的问题,请参考以下文章