String类型转Integer

String类型转Integer问题描述:在做类型转换的时候,String类型的转换成Integer类型的报数据格式转换异常“java.lang.NumberFormatException”。例:Stringstr=”123a”;inti=Integer.parseInt(str);原因分析:因为Integer是int基础数据的包装对象,所以正常的取值范围应该是-2^31- 2^31-1这个范围,但这是new的情况下,如果是直接赋值的话,java中是开辟一个常量池中的值,而常量池的取值范围是-1

大家好,欢迎来到IT知识分享网。String类型转Integer"

问题描述:

在做类型转换的时候,String类型的转换成Integer类型的报数据格式转换异常“java.lang.NumberFormatException”。
例:

String str="123a";
int i = Integer.parseInt(str);

原因分析:

因为Integer是int基础数据的包装对象,所以正常的取值范围应该是-2^31 – 2^31-1这个范围,但这是new的情况下,如果是直接赋值的话,java中是开辟一个常量池中的值,而常量池的取值范围是-127-128中的整数,所以只要没在这个范围内就会报错。在JavaScool提供的中看到,java为了提高效率,初始化了-127 – 128之间的整数对象,因此在这个范围内的取值效率最高。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/12873.html

(0)

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

关注微信