[总结]Integer.getInteger和Integer.valueOf的区别
来源:互联网 发布:为什么淘宝店铺打不开 编辑:程序博客网 时间:2024/06/03 07:00
valueOf方法获取的是字符串本身能转化的数值,getInteger方法获取的是系统属性对应的数值。
(这里的系统属性是指java通过system.getproperty获得的环境变量,如操作系统配置信息以及软件信息。
有关系统属性可以参考:http://blog.csdn.net/babydavic/article/details/1755718)
平常开发中,字符串转整数用valueOf方法。getInteger方法能不用则不要用。两者完全不一样。
@Test public void Test0(){ String s = "123"; Integer getInt = Integer.getInteger(s); Integer valueOf = Integer.valueOf(s); System.out.println("Integer.getInteger(\""+ s + "\")=" + getInt); System.out.println("Integer.valueOf(\""+ s + "\")=" + valueOf); }
输出结果:
Integer.getInteger("123")=nullInteger.valueOf("123")=123
深入理解getInteger方法:获取系统属性的方法:System.getProperties()
@Test public void Test(){ Properties prop = System.getProperties(); Enumeration keys = prop.keys(); while(keys.hasMoreElements()){ String s = keys.nextElement().toString(); Integer i = Integer.getInteger(s); System.out.println(s + "=" + i); } }
输出结果:我的jdk下只有系统属性sun.arch.data.model可转换为相应的Integer对象
java.runtime.name=nullsun.boot.library.path=nulljava.vm.version=nulljava.vm.vendor=nulljava.vendor.url=nullpath.separator=nulljava.vm.name=nullfile.encoding.pkg=nulluser.country=nullsun.java.command=nulljava.home=null...sun.arch.data.model=64...
普通的属性文件不能输出对应的Integer值:这里用数据库配置文件jdbc.properties做个测试
@Test public void Test2(){ try{ BufferedReader br = new BufferedReader(new FileReader("config/jdbc.properties")); Properties p = new Properties(); p.load(br); Enumeration keys = p.keys(); while(keys.hasMoreElements()){ String s = keys.nextElement().toString(); Integer i = Integer.getInteger(s); System.out.println(s + "=" + i); } }catch(FileNotFoundException e){ e.printStackTrace(); }catch(IOException e){ e.printStackTrace(); } }输出结果全是null:
jdbc.maintenanceInterval=nullportNumber.base=nulljdbc.loginTimeout=nulljdbc.maxPoolSize=nulljdbc.minPoolSize=nulldatabaseName.base=nulluniqueResourceName.base=nulljdbc.borrowConnectionTimeout=nulljdbc.xaDataSourceClassName=nulljdbc.maxIdleTime=nulljdbc.poolSize=nulljdbc.logWriter=null...
将普通属性添加到系统属性,则可以访问到该属性值:添加到系统属性的方法:System.setProperties(p)
@Test public void Test3(){ try{ BufferedReader br = new BufferedReader(new FileReader("config/jdbc.properties")); Properties p = new Properties(); p.load(br); System.setProperties(p); Enumeration keys = p.keys(); while(keys.hasMoreElements()){ String s = keys.nextElement().toString(); Integer i = Integer.getInteger(s); System.out.println(s + "=" + i); } }catch(FileNotFoundException e){ e.printStackTrace(); }catch(IOException e){ e.printStackTrace(); } }输出结果:根据jdbc对应的属性名打印属性值,能转化成Integer型的则输出了数值,不能转化成Integer型的则输出null
jdbc.maintenanceInterval=60portNumber.base=5432jdbc.loginTimeout=60jdbc.maxPoolSize=500jdbc.minPoolSize=5databaseName.base=nulluniqueResourceName.base=nulljdbc.borrowConnectionTimeout=60jdbc.xaDataSourceClassName=nulljdbc.maxIdleTime=60jdbc.poolSize=5jdbc.logWriter=60...
最后:不要被两个方法的表面意思类似迷惑了,老老实实用valueOf方法吧。虽然知道了getInteger的一些用法,但是对本人目前来说,还是觉得没什么用。。。算是涨姿势吧,说不定哪天用上了。。。
0 0
- [总结]Integer.getInteger和Integer.valueOf的区别
- Integer.getInteger和Integer.valueOf区别
- Integer.getInteger和Integer.valueOf、Integer.parseInt()的比较
- 区分Integer.getInteger和Integer.valueOf、Integer.parseInt() 的使用方法
- 容易产生歧义的Integer.getInteger和Integer.valueOf方法
- 区分Integer.getInteger和Integer.valueOf使用方法
- 区分Integer.getInteger和Integer.valueOf使用方法
- Integer.valueOf()和Integer.ParseInt()的区别
- Integer.parseInt()和Integer.valueOf()的区别
- Integer.valueOf和Integer.parseInt的区别
- Integer.parseInt()和Integer.valueOf()的区别
- Integer.parseInt()和Integer.valueOf()的区别
- Integer.getInteger()与Integer.parseInt()的区别
- Integer.parseInt("") Integer.valueOf("")和new Integer("")之间的区别
- Integer.parseInt("") Integer.valueOf("")和new Integer("")之间的区别
- Integer.valueOf和Integer.parseInt及new Integer()的区别
- Integer.parseInt("") Integer.valueOf("")和new Integer("")之间的区别
- java中Interger.parseInt(String str),Integer.valueOf(),Ingeger.getInteger()方法的区别
- 软键盘自适应
- Android中BroadCastReceiver使用
- ASCII转中文[javascript]
- java反射机制详解及 Method.invoke详解
- GPRS相关[Android]
- [总结]Integer.getInteger和Integer.valueOf的区别
- AFNetwork详解
- Leaflet使用easybutton插件,如何自定义图标
- 通过IMSI运营商判断[Android]
- TelephonyManager类的方法详解[Android]
- Android Wifi方法大全
- Android下一个apk安装多个程序入口…
- AIDL-Android中的远程接口
- ntstatus 状态值查看