码迷,mamicode.com
首页 > 其他好文 > 详细

包装类

时间:2021-06-02 10:50:19      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:character   char   oat   intval   自动装箱   sed   long   strong   eof   

包装类

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

 

包装类

标签:character   char   oat   intval   自动装箱   sed   long   strong   eof   

原文地址:https://www.cnblogs.com/lrc778/p/14811576.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!