parseInt(String str) 和 valueOf(String str) 的区别

前不久写了个身份证校验的java代码,后来测试的时候发现含有字母的身份证字符串会报出异常,原因在于使用了Integer.parseInt(String str)方法,后来使用了Integer.valueOf(String str)方法,就显示正常了。

 

比如:"3101151985061P2210"

 

报如下异常:

   Exception in thread "main" java.lang.NumberFormatException: For input string: "p"
 at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
 at java.lang.Integer.parseInt(Integer.java:447)
 at java.lang.Integer.parseInt(Integer.java:497)
 at test.Test.main(Test.java:11)

 

 

原因:

   Integer.parseInt(String str)返回一个基本类型(将字符串参数作为有符号的十进制整数进行分析)

   Integer.valueOf (String str)返回一个对象(返回指定的 String 的值的 Integer 对象)

 

真惭愧自己曾经考出SCJP,长时间不写,很多东西都忘了,特此做下笔记来警记!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值