- 原因一:超出了int类型的取值范围
项目中要把十六进制字符串转化为十进制,
用到了到了Integer.parseInt(str1.trim(), 16);这个是不是后抛出java.lang.NumberFormatException异常,让老子看了半天!
后来发现是超出了int类型的取值范围,要用
BigInteger big = new BigInteger(str1.trim(),16);代替即可!!!
- 原因二:字符串类型不对。
String numString = "1 ";
System.out.println(Integer.parseInt(numString));//字符串中有空格,不能转成Int类型。
解决办法很简单,改成 Integer.parseInt(numString.trim()) 就可以啦
- 原因三:转换值类型没有考虑值为空的状况或者由于进制不同: