java笔记(二)----详解装箱与拆箱
1, 首先看看装箱与拆箱的含义:
装箱 是指将基本数据类型的值转为引用数据类型
拆箱 是指将引用数据类型的对象转为基本数据类型
2,如何理解装箱与拆箱
基本数据类型有:byte,short,int,long,float,double,boolean,char;这些类型可以直接赋值,进行操作。Java中的很多类的方法都需要接收引用类型的对象,这时候你给个基本数据类型,无法接收(不能获取到基本数据类型的值)。怎么办呢?
咦!为了解决这样的问题,jdk替我们想好了,提供了一系列与基础数据类型对应的包装类(Byte、Short、Integer、Long、Float,Double,Boolean,Character),通过装箱将这些基本数据类型的值包装成引用数据类型的对象。
下面的说法让大家更容易理解些:
例如:小明有礼物想送给朋友,
如果朋友在同一个城市同个区域(就像在同一个类同一个方法),
小明完全可以自己亲自送过去;
如果朋友住在不同区域或者不同城市(就像在不同一个类),
交通不方便,但是你还是想给他(她)送东西,怎么办?
只能寄快递,像是把礼物装箱过程。
邮寄送出啦。
朋友收到礼物很开心,
拆开看看,像是拆箱一次过程。
(好像是这样的,方便理解记忆嘛,哈哈哈~~~小编水平有限,理解不对的地方,欢迎指出)
继续,继续,继续
jdk5.0以后,可以自动装箱、拆箱,下面看例子说话:
int num = 10;
Integer s1 = num; //自动装箱
int s2 = s1; //自动拆箱
上面的例子中可以看到自动装箱、拆箱,说了这多,接下来说一下程序中的应用(重点来了~)
3,引用数据类型的应用
public class Test{
public static void main(String args[]){
Integer x = 5;
// 返回 byte 原生数据类型
System.out.println(x.byteValue());
// 将Integer x值以字符串的形式打印出来
System.out.println( x.toString());>
}
}
(今天就写到这里吧,作者写不下去了,呜呜。。。,后面再完善)
------------------------------------------------------------------------------------------------------------
包装类 | 基本数据类型 |
---|---|
Boolean | boolean |
Byte | byte |
Short | short |
Integer | int |
Long | long |
Character | char |
Float | float |
Double | double |
注:除了Integer与Character类,其他包装类的名称和基本数据类型的名称一致,只是类名的首字母大写。
参考网址:
https://www.runoob.com/java/java-number.html
https://www.cnblogs.com/xiohao/p/6195242.html