总结篇(12)---字符串及基本类 (4)Integer对象

本文详细介绍了Java中Integer类的特点,包括其与int类型的主要区别,如内存占用、类型及初始值的不同。此外,还提供了丰富的Java基础知识总结,涵盖了类复用、多态、内部类等方面的内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Integer

  • Integer是int对应的包装类,其中有一个private final int value;来存储数据,并且还提供了一些基本操作,例如sum、max、int和字符串的转换等方法。从value声明为private final可以得知它也是一个不可变类型!

    
备注:

1)int与integer的区别?

所占内存类型初始值
Int占用的空间更少基本类型,直接存数值0
Integer

占用更多的内存。Integer是一个对象,需要存储对象的元数据。

对象 (Integer是int的封装类)

null

        注:int和Integer都可以表示某一个数值,但int和Integer不能够互用,因为他们两种不同的数据类型;

2)为啥有了基本类型还需要包装类

        2-1)面向对象特性的需求

  • 对象化的操作:Java是面向对象的语言,但基本类型(如intchar)不是对象,无法直接参与面向对象的操作(如多态、泛型、集合存储)。包装类(如IntegerCharacter)将基本类型封装成对象,使其能融入面向对象的体系中。

  • 方法的支持:包装类提供了丰富的方法(如类型转换、数值比较、进制转换等),例如Integer.parseInt()Double.toString(),这些方法增强了基本类型的功能。

        2-2)泛型与集合框架的支持

  • 泛型需要对象类型:Java的泛型(如List<T>Map<K, V>)要求类型参数必须是对象类型,而基本类型无法直接使用。例如,List<Integer>可以存储Integer对象,但List<int>是非法的。

  • 集合存储ArrayListHashMap等集合类只能存储对象,不能存储基本类型。包装类作为对象,可以无缝与集合框架结合。

        2-3)允许null

  • 表示缺失值:包装类可以赋值为null,用于表示数据缺失或未初始化的情况(如数据库查询结果中的NULL字段)。而基本类型必须有一个默认值(如int默认是0),这在某些场景下可能引发歧义。

3)Int和Integer装箱时怎么实现的?

自动装箱机制,具体是int到Integer的转换过程。

编译器自动转换。当代码中需要将 int 赋值给 Integer 时,编译器会自动插入 Integer.valueOf() 方法,而不是直接调用 new Integer() 构造函数。

我还需要解释拆箱的过程,也就是Integer到int的转换,使用intValue()方法。

更多java基础总结(适合于java基础学习、java面试常规题):

总结篇(1)---复用类

总结篇(2)---多态

总结篇(3)---内部类 (1)内部类的基本概念

总结篇(4)---内部类 (2)内部类之静态内部类

总结篇(5)---内部类 (3)内部类之成员内部类

总结篇(6)---内部类 (4)内部类之局部内部类

总结篇(7)---内部类 (5)内部类之匿名内部类

总结篇(8)---序列化

总结篇(9)---字符串及基本类 (1)字符串及基本类之基本数据类型

总结篇(10)---字符串及基本类 (2)字符串及基本类之java中公共方法及操作

总结篇(11)---字符串及基本类 (3)String对象

总结篇(12)---字符串及基本类 (4)Integer对象

总结篇(13)--- Java注解及元注解

总结篇(14)---JVM(java虚拟机) (1)JVM虚拟机概括

总结篇(15)---JVM(java虚拟机) (2)类加载器

总结篇(16)---JVM(java虚拟机) (3)运行时数据区

总结篇(17)---JVM(java虚拟机) (4)垃圾回收

总结篇(18)---JVM(java虚拟机) (5)垃圾回收算法

总结篇(19)---JVM(java虚拟机) (6)JVM调优

总结篇(20)---反射

总结篇(21)---Java IO

总结篇(22)---Java 进程

总结篇(23)---Java线程及其相关(1)线程介绍

总结篇(24)---Java线程及其相关(2)多线程及其问题

总结篇(25)---Java线程及其相关(3)线程池及其问题

总结篇(26)---Java线程及其相关(4)ThreadLocal

总结篇(27)---Java并发及锁(1)Synchronized

总结篇(28)---Java并发及锁(2)Volatile

总结篇(29)---Java并发及锁(3)Lock

总结篇(30)---Java并发及锁(4)常见锁及分类

总结篇(31)---JUC工具类(1)CountDownLatch

总结篇(32)---JUC工具类(2)CyclicBarrier

总结篇(33)---JUC工具类(3)Semaphore

总结篇(34)---JUC工具类(4)Exchanger

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

sun cat

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值