对基本类型-整型数据结构的认识

本文探讨了Java中整型数据的两种形式——基本类型和包装类型。解释了它们之间的转换、自动拆箱和装箱机制,并讨论了其潜在的性能影响。同时,文章还分析了在方法重载中如何选择调用适当的方法以及比较基本类型与包装类型数值时的注意事项。

整型数据类型有两个:基本类型引用类型(包装类)

整数型基本类型:byte,int,short,long

其引用类型:Byte,Integer,Short,Long

他们之前主要的区别在于:

  1. 存储占用的空间不同,分别是1,2,4,8个字节(每个字节占用8bit),
  2. java里面整数型默认使用的int数据类型,即如果直接写整数字面量时,它表示的就是int类型,
  3. 整数型数据类型之间可以相互转换,以int为默认中间类型,定义了一个整数值4,可以直接赋值给int,
  4. 也可以直接赋值给short和byte(只要数值范围不超过byte和short的存储范围,可以自动向下转型为byte或者short;如果超过则需要强转但超过的高位数会丢失),也可以直接赋值给long,不需要强转,会自动向上转型。
  5. long数据类型可以直接使用L或l声明
  6. 他们之间可以直接转,只要数值范围大于等于它的数值范围,都可以直接转;如果小于它的数值范围就需要强转,但强转会导致数值丢失,编译并不会报错。

其他的基本相同;因此我们以int类型来展开详细说明。

java中一切都是对象,为什么int不用创建对象实例化,而可以直接使用?

单纯是为了编程方便,引入基本类型。

既然引入了基本对象,那也不能破坏java是一个操作对象的语言吧?

所以后面引入了包装类(wrapper class),为每种基本类型都引入了其对应的包装类型,int基本类型的包装类型就是Integer对象。

基本类型引入了包装类型就能将,int基本类型就能像操作对象一样去操作了吗?

是的,还Java1.55引入了一个机制:自动拆箱和自动装箱,使得基本类型和其对应的包装类型可以相互转换,原始基本类型可以自动转换成对应的包装对象。

基本类型和包装类型是何时进行相互转化,如何相互转换?

自动拆箱与装箱机制,可以在java变量赋值或者方法调用传值与返回值或者容器存储数据时直接使用基本类型或者对应的包装类型;在java 1.5版本之前,使用容器集合(Collection)存储数据时,只能存储引用类型,需要存储基本类型,则需要先将其转成其对应的包装类型才可以。

自动装箱就是java自动的将基本类型数值转换成其对应的包装类型,自动装箱时编译器会自动调用其包装类的valueOf()方法将基本类型数值转成对象。

自动拆箱就是</

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值