`
javaliwei
  • 浏览: 14077 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Integer 和 int 值比较的注意事项

    博客分类:
  • java
阅读更多
Integer生成的新对象,如果值在-128到127之间,是直接在缓存池中取的

也就是说不是new的

所以
Integer a=100;
Integer b=100;

a==b 是true



Integer a=200;
Integer b=200;

a==b 是 false
1
1
分享到:
评论
2 楼 javaliwei 2010-03-18  
张洪财 写道
验证了。果真。 不明白为什么只把-128到127存在栈中?

java.lang.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);
}

也就是在这个范围内的数值是取缓存中的值,多次使用可以节省空间和提高效率。
正好和Byte 类型的大小一致,应该是考虑到这个范围内的值使用频率最高吧。
1 楼 张洪财 2010-03-16  
验证了。果真。 不明白为什么只把-128到127存在栈中?

相关推荐

    java中String类型和int类型比较及相互转换

    在实际开发中,根据具体需求选择合适的方法进行类型转换和比较。例如,在数据库查询中,可能需要将用户输入的String类型的ID转换为int类型进行比较;在显示数据时,可能需要将计算结果的int类型转换为String类型以便...

    String与int相互转换

    5. 注意事项: - 在进行转换时,务必确保字符串表示的是一个有效的整数,否则将抛出异常。 - 需要注意整数溢出的问题,特别是在将大字符串转换为int时,可能会超过int的最大值(2^31 - 1)。 - 转换效率也是一个...

    Android 高效编程注意事项

    ### Android高效编程注意事项 在Android应用开发过程中,为了提高应用程序的性能和响应速度,开发者需要注意以下几点关于高效编程的关键知识点: #### 概述 对于资源受限的系统(如移动设备),有两个基本准则...

    Java基础之Integer使用的注意事项及面试题

    "Java基础之Integer使用的注意事项及面试题" Java 中的 Integer 对象是一种 wrapper class,它可以将基本类型 int 转换为对象。然而,在使用 Integer 对象时,需要注意一些细节,以避免出现意外的结果。 首先,...

    session 中 Object 转换为int

    `Integer.parseInt()` 和 `Convert.toInt32()` 都是常用且实用的方法,但使用时要注意错误处理和数据验证,以提高程序的健壮性。希望以上内容能帮助你在实际项目中更好地处理session数据类型转换的问题。

    sizeof函数使用注意事项

    `后,`sizeof(Integer)`和`sizeof(int)`相同。 7. **模板元编程**:在C++中,`sizeof`也可以在模板元编程中使用,用于在编译时确定类型信息,这对于构建泛型代码和类型安全的库非常有用。 8. **空类大小**:一个不...

    数据类型关系映射表

    - **注意事项**:此类型常用于表示布尔值,但 MySQL 支持的值包括 `0`、`1` 和 `NULL`。转换时需要注意处理 `NULL` 值。 - **CHAR (MySQL) → CHAR (JDBC)** - **解释**:MySQL 中的字符类型 `CHAR` 映射为 JDBC...

    java 面试题 java 基础 java 注意事项

    在Java编程领域,面试题常常围绕基础概念、最佳实践以及注意事项。以下是一些常见的Java面试知识点的详细解释: 1. **面向对象的特征** - **抽象**:抽象是将复杂的现实问题简化为一系列概念,忽略不重要的细节,...

    NOIp复赛注意事项(2016).pdf

    ### NOIp复赛注意事项解析 #### 一、赛前准备 **准考证与身份证明**:参加NOIp复赛的选手需携带准考证以及有效身份...通过以上详细的准备和注意事项,参赛者可以在NOIp复赛中更好地发挥自己的实力,取得理想的成绩。

    嵌入式c语言面试

    * 注意事项:16 位机的整型数溢出问题,使用长整型符号 L。 答案:#define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL 2. 宏定义 MIN * 基本语法知识:宏定义的基本知识,三重条件操作符的使用。 * 应用场景:编写...

    Java中的自动装箱与拆箱Java开发Java经验技巧共6

    5. 注意事项 虽然自动装箱和拆箱简化了代码,但过度依赖可能导致性能问题。因为每次装箱和拆箱都会创建或销毁对象,这在处理大量数据时可能会增加内存开销和CPU消耗。此外,如果对象是null,进行拆箱操作会导致`...

    根据map值获取key.txt

    #### 注意事项 - 在使用此方法时需要注意键和值的数据类型是否一致。 - 此方法假设 Map 的键类型为 Integer,如果实际应用中键的类型不同,则需要调整类型转换逻辑。 - 如果 Map 中存在多个相同的值,则此方法只会...

    Java中的自动装箱和拆箱是什么?它们有什么作用?(java面试题附答案).txt

    #### 四、自动装箱与拆箱的注意事项 尽管自动装箱和拆箱带来了诸多便利,但在实际开发中也需要注意以下几点: 1. **性能问题**:频繁使用自动装箱会导致额外的对象创建,可能增加垃圾回收的压力,从而影响程序性能...

    【华为OD机试真题2023JAVA&JS】几何平均值最大子数组

    每次移动`i`,计算新的子数组的几何平均值,如果大于当前最大值,更新最大值和子数组信息。同时,由于题目要求在多个几何平均值相等的情况下选择长度最小的子数组,因此需要记录当前子数组的长度`len`,以便于比较。...

    java装拆箱.ppt

    5. **注意事项** - 自动装箱和拆箱虽然方便了开发,但也可能带来一些性能问题,因为每次装箱和拆箱都需要创建或复制对象。 - 当两个Integer对象使用`==`比较时,它们比较的是对象的引用而不是值。因此,对于连续的...

    python学习记录(控制流)

    **注意事项:** 1. `if`语句在结尾处包含一个冒号; 2. 缩进量要保持一致,通常使用4个空格; 3. `elif`和`else`结尾必须有个冒号。 #### 三、WHILE循环 **功能简介:** `while`循环是在条件为真的前提下重复执行...

    JAVA实用进制转换

    #### 四、注意事项 - 在使用`Integer.valueOf`和`Integer.parseInt`方法时需要注意,输入的字符串必须是有效的数字字符串,否则会抛出`NumberFormatException`异常。 - 当使用`Integer.parseInt(String s, int radix...

    Java list.remove( )方法注意事项

    下面将详细介绍`List.remove()`方法的两种用法及其注意事项。 首先,`remove(int index)`方法用于根据提供的索引从列表中移除一个元素。索引是从0开始的,所以`remove(0)`会删除列表的第一个元素,`remove(1)`会...

    java常用类型转换[文].pdf

    5. **注意事项**: - 在进行类型转换时,必须确保转换的合法性。例如,不能将非数字的字符串转换为整数。 - 转换可能导致数据丢失,如将`double`转换为`int`时,会丢弃小数部分。 - 使用`parseInt()`和`parseLong...

Global site tag (gtag.js) - Google Analytics