大家好,欢迎来到IT知识分享网。
问题描述:
在做类型转换的时候,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