java文件的打包和解包,Java包装类:什么是包装类对象,什么是打包和解包,当编译遇到自动打包和解包时会发生什么?...

pic_90.jpg

一颗野生种子计划收集原力

分类栏目:Java高级特性的原理

版权

什么是包装?

Java设计的一个核心原则是,一切都是对象,也就是说,一切都需要以对象的形式来描述,但是基本的数据类型不是对象,这是非常尴尬和矛盾的。为了解决这个令人尴尬的矛盾,基本数据类型被打包到一个对象中,并且这些类型以面向对象的方式使用。

包装功能?

它是以基本数据类型封装的形式描述的,这使得函数更加健壮。例如,如果缺省情况下整数不是int的0而是null,那么与基本数据类型相比,它对打包的类对象来说还有一个状态,就像你是国王一样。除了0表示您没有记录之外,null还表示您运行了一半。

另一个直观的事情是包装器类为我们提供了许多使用方法,例如,数据可以被转换成二进制,最大值和最小值可以被查看。

除了以上所述,还有另一个要点:基本数据类型不能存储在集合中,只能存储对象,所以在使用集合时,我们需要使用打包类对象。

什么是包装和拆包?

打包:将基本数据类型转换为相应的打包类对象。

解包:打包类对象被转换成相应的基本数据类型。

(包装和拆包、自动包装和拆包操作俯视图)

Java提供了八种数据类型,对应于八种打包类型

基本数据类型包装类型

字节字节

短命

intInteger

龙龙

浮动浮动

doubleDouble

charcharcharacter

布尔字节

注意:

有人想知道吗?为什么没有弦???

或者看到我文章的小朋友发现了它。您是否经常忘记基本数据类型,并随身携带字符串(→ _ →)

请记住,字符串不是Java中的基本类型,字符串是一个对象

好吧,说重点

填充操作

将基本类型转换为相应的打包类对象

第一种包装方法:直接使用新的

int i = 10

整数数量=新整数(I);

系统输出打印(数字);

1

2

3

第二种打包方法:调用valueOf()

整数num_2 =整数值(20);

System.out.println(“调用valueOf()的方法”:+num _ 2);

1

2

运行结果

扩展点:

细心的朋友,你会发现,嘿,印刷对象不应该是地址,而是数字吗?

上面写了什么?

ToString也包含在打包类中

公共字符串到字符串(){

返回到字符串(值);

}

1

2

3

拆包操作

与打包相反,打包类对象被转换成相应的基本数据类型

调用IntValue来解包,这里实际上是将整型转换为整型

整数num_1 =整数值(20);

int num _ 2 = num _ 1 . int value();

system . out . println(num _ 1);

system . out . println(num _ 2);

1

2

3

4

运行结果

(直观的区别是num_1变量是一个整数包装类对象,所以您可以调用一个方法,而num_2是一个基本类型int。)

自动包装

基本数据类型直接分配给打包类对象

整数num _ 1 = 66

system . out . println(num _ 1);

1

2

自动拆包

包类对象直接分配给基本数据类型

整数num _ 1 = 66

int num _ 2 = num _ 1;

system . out . println(num _ 2);

1

2

3

运行结果

太神奇了,不是吗??

我们不必自己打包行李

相信你的野生种子!非常糟糕。

那是谁为我们做的?

当然,这是我们的JVM。当我们编译它的时候,我们增加了它的值并装箱

想问我怎么知道吗?

偷偷告诉你,使用反编译工具查看编译后的类文件,有代码和真理

我在编译的时候为你添加的。我没想到会这样,哈哈

有一个这样的术语叫做:语法糖

吃完这个语法糖后,我帮你做了作业,真的很甜。

自动打包和解包本质上是在编译时为您添加值Of或intValue

自动包装值

整数num_1 =整数值(66);

1

自动解包输入值

int num _ 2 = num _ 1 . int value();

1

最后:

如果我们深入一点,我们可以再次分析这两个关键词的一些机制:valueOf和intValue,但是昨天这篇文章写了我一整天,今天早上它还在修修补补,时间总是来去匆匆。我想我只能留下来写一次。自从我开始写博客,我写得很慢,但这也是非常真实的,因为分享我所能和认真的是我不变的信条。如果你能读这篇文章,它表明我们彼此非常亲近。我希望给你一些帮助。这不容易创造。拿走我文章的知识。我最大的动机是和你在一起,表扬,评论和关注。

———————————————

版权声明:本文是CSDN博主“一颗野生种子”的原创文章,符合CC 4.0 BY-SA版权协议。请附上原始源链接和此声明。

原始链接:https://blog.csdn.net/A_hxy/article/details/106967415

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值