java中Integer.getInteger()、Integer.valueOf()、Integer.parseInt()的区别

   Integer.getInteger()、Integer.valueOf()、Integer.parseInt()的区别

一:三种方法的介绍

 Integer.getInteger():

1:用法

是根据指定的名称得到系统属性的整数值。第一个参数将被认为是系统属性的名称。属性值字符串将被解释成一个

整数,并且以表示这个值的Integer对象形式返回。

2:注意事项

Integer.getInteger(String)方法假设String参数是一个系统属性数值的名称,会读取该系统属性,然后把系统属性的值转换

成一个数字。当我们调用Integer.getInteger("521") 应该是得到 null(系统默认肯定没有521的系统属性)。

3:常见的系统属性

在JDK文档中System类中有这样的方法getProperties()在此方法的详细介绍中有下面的参数可供使用:

java.version  Java 运行时环境版本

java.vendor  Java 运行时环境供应商

java.vendor.url  Java 供应商的 URL

java.home  Java 安装目录

4:手动设置系统属性

当启动JVM时,请使用System.setProperty或使用-Dname = value标志

Integer.valueOf():

1:用法

根据字符串对应的数字进行解析,返回一个integer对象。

Integer a = Integer.valueOf("521")

2:注意事项

如果解析的字符串不是纯数字组成的,解析的时候会抛出异常。所以用的时候尽量try catch下。

可以用int接收返回的结果,会自动拆箱。

Integer.parseInt():

1:用法

根据字符串对应的数字进行解析,返回一个int对象。

int a = Integer.parseInt("521")

2:注意事项

如果解析的字符串不是纯数字组成的,解析的时候会抛出异常。所以用的时候尽量try catch下。

可以用Integer接受返回结果,返回一个Integer对象。发生自动装箱。

二:三种方法的区别

 Integer.getInteger()方法比较坑,一般的话不建议采用这种方式对字符串提取数字。

Integer.parseInt()和Integer.valueof()的区别:

两个parseInt返回后的结果可以用==判断是否相等。Integer.valueof()返回后的结果在-128到127之间可以用==判断是

否相等。这里的==比较直接用返回值比较的,类似于这样

Integer.valueOf("127")==Integer.valueOf("127")    // true
Integer.valueOf("128")==Integer.valueOf("128")    // false
Integer.parseInt("128")==Integer.parseInt("128")  // true

至于超过127之后valueOf两个返回值用==判断返回false的原因是涉及到一个Integer的自动拆箱问题

详情可了解我的另一篇: java整形 128陷阱

感谢博主文章:

区分Integer.getInteger和Integer.valueOf使用方法

Java中系统属性Properties介绍 System.getProperty()参数大全

  • 16
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值