使用Integer.parseInt(String str)时,在很多情况下都会抛出NumberException,当我想知道是因为
参数超过了Integer.MAX_VALUE或者Integer.MIN_VALUE的原因,还是由于输入了非法的字符出现的异常
应该如何捕获呢?请各位帮忙看看,十分谢谢
参数超过了Integer.MAX_VALUE或者Integer.MIN_VALUE的原因,还是由于输入了非法的字符出现的异常
应该如何捕获呢?请各位帮忙看看,十分谢谢
解决方案 »
- 求一个诸如满足2010-5-16格式的正则表达式,在线等!!!
- window.open为什么在IE7中不好用呢,提示新窗口为空或不是对象,但在IE6中就没问题
- 字符串的问题哈,应该很简单,哪位给解释一下
- 修改《eclipse从入门到精通》中的treeviewer实例出问题!
- 关于Java技术的"大"题目
- c/s通信或线程通信问题
- 怎样读取网络上设备的硬件信息?
- 有没有海口的java高手,认识认识,学习交流一下
- 关于InetAddress.getByName的一个小问题
- 请问JAVA可用来做什么?是不是只能作网站?
- 关于struts1中如何取得表单form中数据的问题!!!
- 关于java如何输入的一个问题
问题解决了,是用一个大于int类型的数去接收parseInt的结果number,然后判断number是否在
Integer.MAX_VALUE或者Integer.MIN_VALUE区间之内,然后抛出自定义越界异常,不过对于这个
接收number的类型是否应该越大越好呢?我定义为double
可以用 BigInteger 类:BigInteger max = BigInteger.valueOf(Integer.MAX_VALUE);
BigInteger min = BigInteger.valueOf(Integer.MIN_VALUE);BigInteger number = new BigInteger("1234567890");boolean outOfRange = number.compareTo(max) > 0 || number.compareTo(min) < 0;