Integer.valueOf()方法 java
来源:互联网 发布:企业网络搭建方案文档 编辑:程序博客网 时间:2024/04/27 22:57
Integer.valueOf()方法实现如下:
public static Integer valueOf(int i) { final int offset = 128; if (i >= -128 && i <= 127) { // must cache return IntegerCache.cache[i + offset]; } return new Integer(i); }
Integer.valueOf()方法基于减少对象创建次数和节省内存的考虑,缓存了[-128,127]之间的数字。此数字范围内传参则直接返回缓存中的对象。在此之外,直接new出来。
IntegerCache的实现:
private static class IntegerCache { private IntegerCache(){} static final Integer cache[] = new Integer[-(-128) + 127 + 1]; static { for(int i = 0; i < cache.length; i++) cache[i] = new Integer(i - 128); } }
测试代码
package com.mooing.hessian;public class ValueOfTest { public static void main(String[] args) {// int a=1;// Integer b=new Integer(1);// Integer c=Integer.valueOf(1);// Integer d=new Integer(250);// Integer e=Integer.valueOf(250);// // System.out.println("== 结果:");// System.out.println(a==b);// System.out.println(a==c);// System.out.println(b==c);// System.out.println(d==e);// // System.out.println("equal 结果:");// System.out.println(b.equals(c));// System.out.println(d.equals(e)); Integer i1 = Integer.valueOf(12); Integer i2 = Integer.valueOf(12); Integer i3 = Integer.valueOf(129); Integer i4 = Integer.valueOf(129); System.out.println("== 结果:"); System.out.println(i1==i2); System.out.println(i3==i4); System.out.println("equal 结果:"); System.out.println(i1.equals(i2)); System.out.println(i3.equals(i4)); } public static Integer valueOf(int i) { final int offset = 128; if (i >= -128 && i <= 127) { // must cache return IntegerCache.cache[i + offset]; } return new Integer(i); } private static class IntegerCache { private IntegerCache(){} static final Integer cache[] = new Integer[-(-128) + 127 + 1]; static { for(int i = 0; i < cache.length; i++) cache[i] = new Integer(i - 128); } }}
结果
true
false
true
true
阅读全文
0 0
- java Integer.valueOf()方法
- java Integer.valueOf()方法
- java Integer.valueOf()方法
- java Integer.valueOf()方法
- java Integer.valueOf()方法
- java Integer.valueOf()方法
- java Integer.valueOf()方法
- java Integer.valueOf()方法
- Integer.valueOf()方法 java
- Integer.valueOf()方法实现
- Integer的valueOf方法
- 【Java】Integer.parseInt() & Integer.valueOf() & new Integer()
- Integer.valueOf(String) 方法出错
- java中Integer.parseInt(),Integer.valueOf(),Integer.getInteger()方法的不同
- JAVA中Integer.parseInt()与Integer.valueOf()
- java中 Integer.parseInt()和Integer.valueOf(“str”).intValue()方法的应用
- java中关于Integer.parseInt(),Integer.valueOf(),Ingeger.getInteger()方法的不同
- Integer中的valueOf方法和parseInt方法
- 版本更新
- HTML5学习02-元素、属性和格式化
- 3D Morphable Model Method
- 10张图带你深入理解Docker容器和镜像
- redis本地测试环境安装windows
- Integer.valueOf()方法 java
- 路线更改事件 $ROUTECHANGESTART 与 $LOCATIONCHANGESTART
- Effective C++第四章-设计与声明-1
- 专业名词解释
- 通过OpenCV修改图片某一像素的数值 Python实现
- MFC pictur控件下显示Mat图片
- 再见“小明爬楼梯”问题
- 【Java】打包Jar包并用脚本执行
- IP数据报格式详解