包装类

Posted 清风揽月S

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了包装类相关的知识,希望对你有一定的参考价值。

包装类

Byte、Character、Boolean、Long、Short、Integer、Double、Float

这里拿Integer作举例说明,其他几种包装类类似。

为什么使用包装类?

  1. 某些方法的参数必须是对象,为了让基本数据类型的数据能作为参数,提供了包装类!

  1. 包装类可以提供更多的功能 Integer.MAX_VALUE

  2. 可以实现字符串和基本类型之间的转换

    如: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比较的是对象引用。

 

以上是关于包装类的主要内容,如果未能解决你的问题,请参考以下文章

Java包装类(二十八)

Java进阶包装类

面向对象之包装类与Object类

包装类

179 01 Android 零基础入门 03 Java常用工具类02 Java包装类 03 包装类总结 01 Java中的包装类总结

Java包装类