Java每个基本类型在java.lang包中都有一个相应的包装类
一、包装类有何作用
- 提供了一系列实用的方法
- 集合不允许存放基本数据类型数据,存放时,要用包装类型
二、八种包装类所继承的父类不全都相同
byte ===》 Byte short ===》Short Int ===》 Integer
long ===》Long float ===》Float double ===》Double
char ===》Character boolean ===》Boolean
基本数据类型的包装类基本上是对应的基本数据类型的首字母大写就是包装类类型,除了两个特殊的除外:Int类型,char类型
关于Byte等等的包装类是可以涉及到很多调用方法的
可以调用的方法比如Byte.SIZE,调用SIZE的方法就是记录着这个数据类型的内存大小,
调用格式:System.out.println(Byte.SIZE);
三、数据类型的子类分类 - Integer ,Byte,Float,Double,Short,Long都属于Number类的子类,Number类本身提供了一系列的返回以上六种基本数据类型的操作。
- Character属于Object子类
- Boolean属于Object子类。
四、装箱及拆箱 - 将基本数据类型变成包装类称为装箱。
- 将包装类的类型变为基本数据类型称为拆箱。
- 在JDK1.5之后,提供了自动装箱和自动拆箱功能。
例:byte byte1=1;
System.out.println(“基本类型:byte 二进制位数:” +Byte.SIZE);
System.out.println(“包装类:ࣺjava.lang.Byte”);
System.out.println(“最小值:Byte.MIN_VALUE=” +Byte.MIN_VALUE);//最小值ֵ
System.out.println(“最大值:Byte.MAX_VALUE=” +Byte.MAX_VALUE) ;//最大值ֵ
System.out.println();
Byte byte2=byte1;//基本数据类型 赋值给 包装类类型–装箱(自动装箱jdk1.5)
byte byte3=byte2;//包装类类型 赋值给 基恩数据类型—拆箱(自动拆箱)
自jdk1.5开始,装箱和拆箱的过程都不再需要自己手动完成中间的转换过程,而是会由java自动完成。
基本数据类型和对应的包装类的一个相互转换的过程有什么好处。基本上可以将基本数据类型和他的包装类类型接近的看成是同一个类型,可以随便赋值。只要两边都是一样的东西,就可以任意赋值。但是实际上,包装类和基本数据类型并不是同一个东西,只是自动装箱的方法感觉用法是一模一样的。
boolean布尔类型的神奇用法,布尔类型并不能调用跟其他包装类的方法,布尔类型只有两个值,一个为true,一个为false。至于像其他的包装类调用像SIZE的方法是没有的。
数据类型转换为Boolean类型
使用Boolean()函数
数字 -->布尔 除了0和NaN是false,其余的全部都是true
字符串–>布尔 除了空串是false,其余的全部都是true
null 和undefined都会转换为false
对象也会转换为true