A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

在百度上看到有人说Integer中的valueOf(String str)和parseInt(String str)方法的不同之处是一个返回Integer对象一个返回int值,自己琢磨了下这2个方法还有一个妙用就是,valueOf(String str)是如果字符串不能解析为一个整数则抛出异常:NumberFormatException ,而parseInt()是如果字符串不包含可解析的整数则抛出NumberFormatException (我的理解是这个整数超过了int的范围)。当我们接受键盘输入,又要把接受的变成Integer或者Int类型时,可以try这两个方法来判断是输入的格式不对,还是输入的数超过了Int的范围。貌似入学测试就有一道这样的题,就可以用这种方法判断

4 个回复

倒序浏览
点个赞!
回复 使用道具 举报
楼主的理解不对。如果你传给parseInt一个字符串"a",它仍然是抛NumberFormatException异常,所以无法靠这个异常区分是格式不对还是超过范围。要判断格式,可以用正则表达式。排除了格式之后,如果还抛出NumberFormatException,则可以判断是超过int范围
回复 使用道具 举报
应该加分呀
回复 使用道具 举报
不错!值得学习,楼主继续
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马