`
高级java工程师
  • 浏览: 407785 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

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);
	}
}


测试代码
true
false
true
true
分享到:
评论

相关推荐

    Springmvc : Failed to convert property value of type 'java.lang.String' to int

    可以使用Java内置的`Integer.parseInt()`或`Integer.valueOf()`方法,它们会抛出异常如果输入无效。或者使用Apache Commons Lang的`NumberUtils.toInt()`,它会返回一个默认值而不是抛出异常。 2. **使用转换器**:...

    测试数据如下 1)文件一:data01.txt,内容:Beijing is beautiful I love Beijing

    根据给定的信息,我们可以深入探讨倒排索引(Inverted Index)的概念以及如何利用Hadoop进行倒排索引的构建。倒排索引是一种用于快速文档检索的数据...这种方法尤其适用于大数据处理场景,如搜索引擎、文档检索系统等。

    readtxtfile_delphi_Delphi读取CFG_

    其基本语法如下: ```delphi procedure LoadFromFile(const FileName: string); ``` 在这里,`FileName`参数是要读取的文件的完整路径。调用这个方法后,TStringList对象的每个元素将对应于文件中的一行。例如: ...

    Redis命令实践与技巧解析.docx

    具体实现方式如下: - 生产者使用`lpush`命令将消息插入到列表头部; - 消费者使用`rpop`命令从列表尾部获取消息。 这种方式简单高效,可以满足基本的消息队列需求。 ##### 3. 排行榜实现 Redis的有序集合非常...

    JAVA设计模式在JDK中的应用

    - `java.lang.Integer#valueOf(int)`: 重用Integer对象。 - `java.lang.Boolean#valueOf(boolean)`: 重用Boolean对象。 - `java.lang.Byte#valueOf(byte)`: 重用Byte对象。 - `java.lang.Character#valueOf(char)`: ...

    java代码-.将8进制数转换为十进制数。 * 这里不要输入,直接写死一个8进制数。

    在Java中,可以使用内置的`Integer.parseInt()`或`Integer.valueOf()`方法将8进制字符串转换为十进制整数。 以下是关于8进制到十进制转换的详细知识点: 1. **8进制表示**:在Java中,8进制数通常以前缀`0`开头,...

    Java小片段

    - `String.valueOf(int)`:将整型数值转换为对应的字符串表示。例如,`String a = String.valueOf(2);` - `Integer.parseInt(String)`:将字符串解析为整型数值。如,`int i = Integer.parseInt(a);` 这里要注意,...

    Java编写的进制转换程序

    1. **字符串到整数的转换**:在Java中,我们可以使用`Integer.parseInt()`或`Integer.valueOf()`方法将表示特定进制的字符串转换为整数。这两个方法都需要两个参数:一个是字符串,另一个是字符串所代表的进制基数。...

    javaWeb-Servlet、mysql实现用户增删改查

    userBean.setAge(Integer.valueOf(age)); } else { userBean.setAge(0); } userBean.setDh(dh); userBean.setQq(qq); userBean.setSex(sex); // 处理添加操作 if ("InsertUserAction".equals(str)) { if ...

    JDK中的设计模式

    - `java.lang.Integer#valueOf(String)`:以及`Boolean`、`Byte`、`Character`、`Short`、`Long`、`Float`和`Double`的相似方法,用于将字符串转换为相应的包装类型。 - `java.lang.Class#forName()`:加载类的方法...

    jdk1.5 1.6 1.7的新特征总结

    你可以通过`Color.values()`获取所有枚举值,通过`Color.valueOf("Red")`将字符串转换为对应的枚举值。 5. 可变参数(Varargs) 可变参数允许一个方法接收不定数量的参数,只需在参数列表的末尾加上`...`。这使得...

    delphi dbgrid

    - 在DBGrid上双击“OnCellClick”事件,打开代码编辑器并添加如下代码: ```delphi procedure TForm1.DBGrid1CellClick(Sender: TObject; ACol: TColumn); var i: Integer; begin for i := 0 to 7 do // 假设有8...

    计算身份证年龄包括年月日

    if(Integer.parseInt(fyue) &lt; Integer.valueOf(yue)) { return age - 1; } else if (Integer.parseInt(yue) == Integer.parseInt(fyue) && Integer.parseInt(fday) - Integer.parseInt(day) ) { return age - 1; }...

    用jsp做的一个简单的小日历源代码

    month = String.valueOf(thisMonth.get(Calendar.MONTH)); thisMonth.setFirstDayOfWeek(Calendar.SUNDAY); thisMonth.set(Calendar.DAY_OF_MONTH, 1); int firstIndex = thisMonth.get(Calendar.DAY_OF_WEEK)...

    android 带加减按钮 EditText控件

    etValue.setText(String.valueOf(value)); } } }); btnPlus.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { int value = Integer.parseInt(etValue.getText()....

    import java.io.BufferedReader.docx

    - 使用 `Integer.valueOf` 方法将字符串转换为整数,并计算其对数。 ### 二、`Scanner` 类的使用 #### 1. 类介绍 `Scanner` 类是 `java.util` 包中的一个类,用于简化基本类型和字符串的输入。与 `BufferedReader`...

    Java汇总.pdf

    - 实现方式:通过调用对应包装类的静态 `valueOf` 方法实现。 2. **拆箱**:将包装类类型自动转换为基本数据类型的过程。例如,`Integer` 转换为 `int`。 - 实现方式:通过包装类对象的 `intValue` 方法实现。 ...

Global site tag (gtag.js) - Google Analytics