java面试篇14、Integer 与 int 的区别

在 Java 中,Integer 和 int 有以下主要区别:

总结

  1. 类型

    • int:是一种基本数据类型(primitive type),用于表示整数值。
    • Integer:是一个类(wrapper class),位于 java.lang 包中,用于包装 int 类型的值。
  2. 内存分配

    • int:存储在栈内存中,占用固定的内存空间(通常为 4 个字节)。
    • Integer:存储在堆内存中,包含一个 int 类型的值和一些额外的对象开销。
  3. 默认值

    • int:默认值为 0
    • Integer:默认值为 null(如果声明为对象引用变量)。
  4. 方法和属性

    • int:没有方法和属性,因为它是一个基本数据类型。
    • Integer:提供了许多有用的方法,如 intValue()toString()valueOf() 等,可以进行各种操作。
  5. 自动装箱和拆箱

    自动装箱:将 int 转换为 Integer
    int a = 10;
    Integer b = a; // 自动装箱

    自动拆箱:将 Integer 转换为 int

    Integer c = 20;
    int d = c; // 自动拆箱

  6. 性能

    • int:性能更高,因为它是基本数据类型,不需要额外的对象开销。
    • Integer:性能较低,因为它是对象,涉及对象的创建和垃圾回收。
  7. 示例代码
    public class Example {
        public static void main(String[] args) {
            // 基本数据类型 int
            int a = 10;
            System.out.println("a: " + a); // 输出: a: 10
    
            // wrapper 类 Integer
            Integer b = 20;
            System.out.println("b: " + b); // 输出: b: 20
    
            // 自动装箱
            Integer c = a;
            System.out.println("c: " + c); // 输出: c: 10
    
            // 自动拆箱
            int d = b;
            System.out.println("d: " + d); // 输出: d: 20
    
            // 使用 Integer 的方法
            String str = b.toString();
            System.out.println("str: " + str); // 输出: str: 20
        }
    }

    代码解释

  8. 基本数据类型 int

    • int a = 10;:声明并初始化一个 int 变量 a
    • System.out.println("a: " + a);:输出 a 的值。
  9. wrapper 类 Integer

    • Integer b = 20;:声明并初始化一个 Integer 对象 b
    • System.out.println("b: " + b);:输出 b 的值。
  10. int:基本数据类型,性能高,没有方法和属性。
  11. Integer:包装类,提供丰富的操作方法,但性能较低。
    • 自动装箱

      • Integer c = a;:将 int 类型的 a 自动转换为 Integer 类型的 c
    • 自动拆箱

      • int d = b;:将 Integer 类型的 b 自动转换为 int 类型的 d
    • 使用 Integer 的方法

      • String str = b.toString();:将 Integer 对象 b 转换为字符串。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值