装箱和拆箱
其中BigInteger、BigDecimal没有相对应的基本类型,主要应用于高精度的运算,BigInteger 支持任意精度的整数,
装箱操作:把一个基本类型的值,转换成对应包装类对象。
方式一:Integer num1 = new Integer(17);
方式二:Integer num1 = Integer . valueOf(17);
----------
拆箱操作:把包装类对象转换成对应的基本类型变量。
int num3 = num1.intValue();
Sun公司从Java5开始提供了自动装箱和自动拆箱的功能。
自动装箱:可以直接把一个基本类型的值赋给对应的包装类对象。
自动拆箱:可以直接把一个包装类对象赋值给对应的基本数据类型。
通过反编译后我们发现:自动装箱和拆箱,是一个编译器级别新特性。
在底层依然是手动装箱和拆箱操作。
但是:装箱操作使用的是Integer . valueOf的方式,而不是直接new Integer 。
-----------------------------------------------------------------
Switch支持的数据类型:byte、short、int、char、String也支持对象的包装类(jdk1.5以后)
测试我们发现,包装类也被switch所支持,通过反编译工具我们发现其实在switch判断表达式里面对包装类进行了拆箱操作而转换成一个int类的普通数据。
----------------------------------------------------------------------------------------
解释:Object obj = 17.
1):自动装箱:Integer i = 17;
2):引用的自动类型转换,把子类对象赋给父类对象:Object obj = i ;
----------------------------------------------
Object可以接受一切数据类型的值。
Object数组:Object [ ] 数组名; 该数组可以装一切数据的类型。
包装类的常用操作方法:
1):包装类中的常量:
MAX_VALUE(最大值)/MIN_VALUE(最小值)SIZE(在内存中储存占用多少位) TYPE(对应的数据的基本类型)
2):包装类的构造器:
数据类型(数据类型 value):接受自己的基类性质。如:Integer (int value)
......(String value):但是char除外。因为char属于单字符。
构造器的作用:创建包装类对象。
3): 基本类型和包装类型的转换(装箱和拆除)
4):String与基本数据类型/包装类型之间的转换
String和int/Integer之间的转换操作:转换方法必须在String类中或integer类中。
String 转换成基本包装类型
valueOf(String s)
返回一个 Integer对象,保存指定的值为 String
方式一:Integer one = Integer . valueOf(“转换的字符串”);
方式二:Integer two = new Integer(“转换的字符串”);
1.把基本数据类型转换成String
String str = 17+” ”; 任何数字字符和双引号连接就形成了字符串。
2.把包装类对象转换成String
String str = 任何对象.toString();这是Object的一个方法:
3.把String转换为基本数据类型
parseXXX(String s); XXX代表八大基本数据类型。
将字符串参数解析为带符号的十进制整数。
4.:String转换成Boolean类型注意事项。
包装中的缓存设计(享元模式):
Byte、Short、Integer、Long:缓存(-128 ~ 127)区间的数据;
Character 缓存(0~127)区间的数据。
包装类型对象之间的比较操作:统统使用equals方法来比较,比较的是包装的数据。