Integer取值范围和NumberFormatException的解决

简介:

  项目服务端有个查询当地新闻的接口,从GEO文件中取得code,后台查询。

  下午测试的时候查询日本:3920000000,结果报java.lang.NumberFormatException,数字格式化异常

调试后发现代码中有个是否整数的判断,会把String转换成Integer,"3920000000"超出了int的值域后报异常。

 JDK 7的虚拟机中,int取值范围为"-2^31~(2^31-1)"

 对于 byte 类型,取值范围是从-128 至 127(-27至 27-1) ,包括-128 和 127。 

 对于 short 类型,取值范围是从− 32768 至 32767(-215至 215-1) ,包括− 32768 和
 32767。 
 对于 int 类型,取值范围是从− 2147483648 至 2147483647(-231至 231-1) ,包括−
 2147483648 和 2147483647。 
 对于 long 类型,取值范围是从− 9223372036854775808 至 9223372036854775807
 (-263至 263-1) ,包括− 9223372036854775808 和 9223372036854775807。 
 对于 char 类型,取值范围是从 0 至 65535,包括 0 和 65535。

测试:

public class Integertest {
         public static void main(String[] args) {
          System.out.println("最大取值:" + Integer.MAX_VALUE);
          System.out.println("最小取值:" + Integer.MIN_VALUE);
         }
}

输出:

最大取值:2147483647
最小取值:-2147483648

 


目录
相关文章
|
15天前
如何对BigDecimal进行非0判断
如何对BigDecimal进行非0判断
21 3
|
28天前
BigDecimal转String
BigDecimal转String
14 0
|
8月前
|
人工智能 Java 数据库
BigDecimal 转 String
BigDecimal 转 String
103 0
|
Java
Java:String.format实现double类型保留固定小数位
Java:String.format实现double类型保留固定小数位
104 0
|
安全
Synchroinzed对Integer的问题
Synchroinzed对Integer的问题
Synchroinzed对Integer的问题
Zp
|
缓存 Java
Integer的比较和注意点
Integer的比较和注意点
Zp
70 0
Integer的比较和注意点
|
Java
Java数据类型中String、Integer、int相互间的转换
Java数据类型中String、Integer、int相互间的转换
155 0
C#编程-24:String前面不足位数补零的方法
C#编程-24:String前面不足位数补零的方法
|
存储 缓存 Java
聊聊 Integer 吧
当我们开发的越久,越能体会到基础知识的重要性。抽空捋一下 JDK 源码,权当查漏补缺。读完之后,你会发现 JDK 源码真的会给你很多惊喜
|
缓存
Integer这个包装类是个妖孽
  给大家出一道小儿科的题: public class TestInteger { public static void main(String[] args) { Integer a = 1;...
1008 0