int和Integer的区别

2023-05-16

int和Integer的区别

1、Integer是int的包装类,int则是java的一种基本数据类型
2、Integer变量必须实例化后才能使用,而int变量不需要
3、Integer实际是对象的引用,当new一个Integer时,实际上是生成一个指针指向此对象;而int则是直接存储数据值
4、Integer的默认值是null,int的默认值是0

关于Integer和int的比较
1、由于Integer变量实际上是对一个nteger对象的引用,所以两个通过new生成的Integer变量永远是不相等的(因为new生成的是两个对象,其内存地址不同)。

2、Integer变量和int变量比较时,只要两个变量的值是向等的,则结果为true(因为包装类
nteger和基本数据类型int比较时,java会自动
拆包装为int,然后进行比较,实际上就变为两个int变量的比较)

3、非new生成的Integer变量和new Integerl)生成的变量比较时,结果为false。(因为@当变量值在-128~127之间时,非new生成的Integer变量指向的是java常量池中的对象,而new Integer()生成的变量指向堆中新建的对象
两者在内存中的地址不同;②当变量值不
在-128~127之间时,非new生成Integer变量时,java API中最终会按照new Integer()进行处理(参考下面第4条),最终两个Interger的地址同样是不相同的)

4、对于两个非new生成的Integer对象,进行比较时,如果两个变量的值在区间-128到127之间,则比较结果为true,如果两个变量的值不在此区间,则比较结果为false

java对于-128到127之间的数,会进行缓存,Integer i = 127时,会将127进行缓存,下次再写Ilnteger j = 127时,就会直接从缓存中取,就不会new了

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

int和Integer的区别 的相关文章

  • C 如何计算没有浮点精度的百分比(千)

    如何将 2 个 int 值的百分比计算为表示百分比的 int 值 更精确的是千分之一 背景 目的 使用没有 FPU 的处理器 浮点计算所需的时间要长 100 倍 int x 25 int y 75 int resultPercentage
  • C++ 交换值的最有效方法

    我想知道在 C 中交换整数的最有效的操作方式是什么 为什么 是这样的 int a b a a b b a b a a b 比使用临时的更有效 还有其他更有效的方法吗 不只是要求其他方法来交换整数 以及为什么它们会更有效 赋值总是比进行算术运
  • 当不应该使用整数和双精度数时会给出不同的答案

    我正在解决欧拉项目问题14 https projecteuler net problem 14使用java 我并不是寻求帮助解决问题 我已经解决了 但我遇到了一些我无法弄清楚的事情 问题是这样的 为正集合定义以下迭代序列 整数 n n 2
  • python如何表示这么大的整数?

    在C C 和Java中 整数有一定的范围 我在 Python 中意识到的一件事是我可以计算非常大的整数 例如pow 2 100 相同的等效代码 在 C 语言中 pow 2 100 显然会导致溢出 因为在 32 位体系结构中 无符号整数类型的
  • 将 int(32 位)转换为 char(8 位)

    我有这些定义 int data uartBaseAddress UART DATA REGISTER 4 data coming from UART RX port char message 20 array of 20 chars 现在当
  • 如何在 XML 中显示活动的整数?

    我在我的应用程序中使用 XML 输出 所以基本上主要的活动只是告诉android显示main的XML布局 但是 如果我在活动代码中定义了整型变量并且我希望该整型变量也显示在显示屏上 该怎么办 如何将整型变量推送到 XML 从主 XML 引用
  • 如果可能的话,如何在 C 中定义 2 位数字?

    对于我的大学过程 我正在模拟一个称为随机顺序吸附的过程 我必须做的一件事是随机地将正方形 不能重叠 放置到格子上 直到没有更多空间为止 重复该过程几次以找到平均 干扰 覆盖率 基本上我正在对一个大的整数数组执行操作 其中存在 3 个可能的值
  • 如何使用“typedef NS_ENUM”在一个 .h 文件中定义多个变量类型

    我用过typedef NS ENUM重新组织旧代码中的数据常量 使用方法在这里找到 https stackoverflow com a 42009056 2348597 every typedef被声明在一个单一的 h可以导入到项目中任何类
  • 在 Swift 中将 bytes/UInt8 数组转换为 Int

    如何将4字节数组转换为对应的Int let array UInt8 gt let value Int Example Input 0 0 0 x0e Output 14 我在互联网上找到的一些代码不起作用 let data NSData b
  • 如何在Java中从字符串中提取多个整数? [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我得到了一系列像这样的字符串 123
  • 如何从 PHP 字符串中获取 64 位整数哈希值?

    我需要 64 位字符串整数哈希值来实现哈希映射之类的功能 在我看来 没有可以返回 64 位整数的原生 PHP 哈希功能 我认为可以获取 sha1 哈希值的第一部分并将其转换为整数 然而 这不会带来最好的性能 而且转换似乎很棘手 当然 如果不
  • 将浮点数向下舍入到最接近的整数?

    我想获取一个浮点数并将其向下舍入到最接近的整数 然而 如果它不是一个整体 我always想要向下舍入变量 无论它与下一个整数的接近程度如何 有没有办法做到这一点 int x 转换为整数将截断 朝向 0 0 例如math trunc 对于非负
  • 在 Ruby 中模拟 int64 溢出

    我是一名资深程序员 但对 Ruby 还很陌生 我正在尝试移植一种名为 CheckRevision 的算法 用于在登录 Battle net 的在线游戏服务之前检查游戏文件的完整性 该算法使用给定的公式对文件进行 哈希 没有无聊的细节 而是不
  • Java中的整数除法[重复]

    这个问题在这里已经有答案了 这感觉像是一个愚蠢的问题 但我在 Java 文档中找不到答案 如果我声明两个 int 然后将它们相除 到底发生了什么 他们是否转换为floats doubles首先 划分 然后投射回integer 或者除法是作为
  • .NET 中的 base_convert

    NET 是否具有与 PHP 等效的本机功能基数转换 http php net base convert或者我需要自己写 我想从任何基数转换为任何其他基数 其中 to 基数或 from 基数可以是 2 36 的任何整数 PHP 函数示例 ba
  • ANSI C,整数到字符串,不带可变参数函数

    我目前正在使用支持 ANSI C 的 PLC 但使用它自己的 GNU 编译器风格 它不编译任何可变参数函数和 itoa 之类的东西 所以使用 sprintf co 不是将整数转换为字符串的选项 任何人都可以引导我到一个列出了健壮的 无 sp
  • mysql 中 int(11) 列的大小是多少(以字节为单位)?

    柱子的尺寸是多少int 11 在mysql中以字节为单位 该列中可以存储的最大值 An INT无论指定什么长度 都将始终为 4 个字节 TINYINT 1 字节 8 位 SMALLINT 2 字节 16 位 MEDIUMINT 3 字节 2
  • 如何对无法存储在一个变量中的大数字进行运算

    在Java中 我希望能够对非常大的整数 不能存储在long中 进行操作 我该怎么做 在表现良好的情况下 处理这个问题的最佳方法是什么 我应该创建自己的包含多个长变量的数据类型吗 Example public class MyBigInteg
  • 如何声明文本字段只能包含整数?

    在 swift 中 我试图创建一个文本字段 该文本字段将允许启用按钮 但仅当文本字段包含整数时 我怎样才能做到这一点 两件事情 指定键盘类型以仅显示数字键盘 所以 设置keyboardType to numberPad 然而 这还不足以阻止
  • Objective-C:int值无故改变

    Objective C 我需要帮助保留 int 的值 无需我的命令 它就在我身上发生变化 最初的问题是 如何声明和保留 int 这在另一篇文章中得到了满足 Objective C 如何声明和保留 int https stackoverflo

随机推荐