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

 

时间: 2024-10-27 19:25:46

Integer取值范围和NumberFormatException的解决的相关文章

如何解决ASP.NET新增时多字段取值的问题_实用技巧

ASP.NET 开发人员在卡发时经常会碰到一个情况,就是新增的页面中字段太多,在点击保存的时候需要一个一个的赋值实体或者构建SQL语句去保存.这样不仅浪费体力还需要占用大量的文本行控件去写代码.经过构思是否可以使用一种更方便的办法去解决呢?提高代码的内聚性.  1.思路  我们知道一般新增页面最多的就是一大堆文本框让用户输入内容,然后点击保存按钮进行提交将数据持久化到数据库. 在点击提交的时候传统方式就是一个一个文本框的读取赋值.  HTML代码如下: <asp:TextBox ID="T

SelecT下拉框选中和取值的解决方法_jquery

 Select下拉框的问题,想在选择一个选项后,前台显示做出变动,并且知道选择的是第几个选项. 这个很好解决: 如下: <div class="page-header"> <div class="form-horizontal"> <div class="control-label col-lg-0"> </div> <div class="col-lg-2"> &l

jquery下checked取值问题的解决方法_jquery

一怒之下,给checkbox加一个isCheck,,不用那该死的checked属性...一切OK了...代码如下: 复制代码 代码如下: <!DOCTYPE html > <html><head> <meta charset="UTF-8"> <title>修复checkbox的状态切换和动态取值的问题</title> <script type="text/javascript" src=

关于Jquery操作Cookie取值错误的解决方法_jquery

使用JQuery操作cookie时 发生取的值不正确的问题: 结果发现cookie有四个不同的属性: 名称,内容,域,路径 复制代码 代码如下: $.cookie('the_cookie'); // 读取 cookie $.cookie('the_cookie', 'the_value'); // 存储 cookie $.cookie('the_cookie', 'the_value', { expires: 7 }); // 存储一个带7天期限的 cookie $.cookie('the_co

先排序还是先取值

排序                                                           先排序还是先取值   题目:  MS SQLSERVER和ORACLE中取出表中按照某字段排序的前N条记录   这个题目看上去似乎那么简单, 两种数据库都提供ORDER BY 子句. 问题应该能够迎刃而解吧.   先试一下MS SQLSERVER是怎么做的:       use Northwind; create table TestSort (ID integer); in

一个标签从标签数组中取值方法实现

问题描述 一个标签从标签数组中取值的两种方法实现.一种方法是按标签出次的次数取值按出现.String[]add={"北京","上海","四川","四川","北京","四川"};"地址":"四川";还有一个方法是按权重进行显示String[]add={"北京","上海","四川","

MySQL中各种字段的取值范围

mysql MySQL中各种字段的取值范围过节回来,网站更新的第一篇文章.看来我有必要在最近找到一位志同道合的同学一起来维护站点才行了----------------------------------------------------------------TINYINT -128 - 127 TINYINT UNSIGNED 0 - 255 SMALLINT -32768 - 32767 SMALLINT UNSIGNED 0 - 65535 MEDIUMINT -8388608 - 83

php数据入库前清理 注意php intval与mysql的int取值范围不同

php保存数据到mysql 打算在dao层进行数据入库前的清理,比如varchar进行trim,int进行intval. 有一天突然想起,php intval的取值范围与mysql的int类型一样吗? 查了一下,不一样-- http://php.net/manual/en/function.intval.phphttp://dev.mysql.com/doc/refman/5.1/zh/column-types.html#numeric-typesphp intval的取值范围:与操作系统相关,

反射应用之一:根据控件名、属性名进行取值和赋值

控件 '必须引用命名空间System.Reflection,System.ComponentModel '以下根据控件名和属性名取值 Public Function GetValueControlProperty(ByVal ClassInstance As Object, ByVal ControlName As String, ByVal PropertyName As String) As Object Dim Result As Object Dim myType As Type = C