包装类
Posted 清风揽月S
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了包装类相关的知识,希望对你有一定的参考价值。
包装类
Byte、Character、Boolean、Long、Short、Integer、Double、Float
这里拿Integer作举例说明,其他几种包装类类似。
为什么使用包装类?
-
某些方法的参数必须是对象,为了让基本数据类型的数据能作为参数,提供了包装类!
-
包装类可以提供更多的功能 Integer.MAX_VALUE
-
可以实现字符串和基本类型之间的转换
如:int i = Integer.parseInt("12");
double d = Double.parseDouble("33.5");
缺点:包装类的对象需要占用栈内存和堆内存,而基本数据类型只占用栈内存
自动装箱和自动拆箱
Integer i = new Integer(100); //手动装箱
Integer i2 = 40; //自动装箱
int i3 = i.intValue(); //手动拆箱
int i4 = i2; //自动拆箱
Integer i5 = 5;
Integer i6 = 5;
System.out.println(i5.equals(i6)); //true
System.out.println(i5==i6); //true
Integer i5 = 5000;
Integer i6 = 5000;
System.out.println(i5.equals(i6)); //true
System.out.println(i5==i6); //flase
这是由于自动装箱时,会调用Integer的valueOf()方法,该方法中的代码功能,当i5>127时,Integer i5 = 5000实际上会new一个对象,即相当于Integer i5 = new Integer(5000),所以i5==i6比较的是对象引用。
以上是关于包装类的主要内容,如果未能解决你的问题,请参考以下文章
179 01 Android 零基础入门 03 Java常用工具类02 Java包装类 03 包装类总结 01 Java中的包装类总结