通过示例解析 Java 中 Integer 与 int 的区别

在 Java 中,int 是一个基本数据类型,而 Integer 则是一个包装类(Wrapper class)

  • int 作为一种基本数据类型,其灵活性相对较低。我们只能在其中存储整数的二进制值。
  • 既然 Integer 是 int 数据类型的包装类,它为我们提供了在存储、转换和操作 int 数据时更多的灵活性。
  • Integer 是一个类,因此它可以调用类中定义的各种内置方法。Integer 类型的变量存储的是对 Integer 对象的引用,就像任何其他引用(对象)类型一样。

示例:

****// 有效****
int n = 20;
****// 有效****
Integer n = 45;

****// 有效****
Integer.parseInt("10");
****// 无效****
int.parseInt("10");

关键区别点:

1. 转换为字符串变量

我们不能直接将字符串值(仅包含整数)赋值给 int 变量,即便通过类型转换(casting)也无法做到。然而,我们可以使用 Integer(String) 构造函数将一个 String 赋值给 Integer 类型的对象。我们甚至可以使用 parseInt(String) 方法将字符串字面量转换为 int 值。

Java


CODEBLOCK_adae2b84

输出

133.1

2. 将数值直接转换为其他进制

我们可以分别使用 toBinaryString()toOctalString()toHexString() 方法,将存储在 Integer 类中的整数值直接转换为二进制、八进制或十六进制格式。这在 int 类型的变量中是无法实现的。

Java


CODEBLOCK_59f06ee9

输出

1111011
173
7b

3. 对数据执行操作

Integer 类还允许我们分别使用 reverse()、rotateLeft() 和 rotateRight() 方法来反转数字,或者将其向左或向右旋转。我们需要为 int 变量定义自己的逻辑来执行这些操作,因为它不是一个内置的类。

Java


CODEBLOCK_87efd6ff

输出

Left Rotate : 48
Right rotate : 3
Reverse : 805306368

4. 灵活性

Integer 包装类为我们现有的 int 数据类型提供了更多的灵活性。除了预定义的运算符之外,我们还可以对 int 值执行许多操作。Integer 类主要用于我们需要将 int 变量作为对象处理的场景。由于包装类继承自 Object 类,它们可以在使用 Object 引用或泛型的集合中使用。因此,我们为现有的 int 数据类型增加了可为空的属性。自 Java 5 以来,我们有了自动装箱的概念,其中基本数据类型会自动转换为包装类,反之亦然。因此,w

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。如需转载,请注明文章出处豆丁博客和来源网址。https://shluqu.cn/49633.html
点赞
0.00 平均评分 (0% 分数) - 0