课程咨询 :186 8716 1620      qq:2066486918

昆明Java培训 > 达内新闻 > 昆明java培训——包装类(Wrapper Class)
  • 昆明java培训——包装类(Wrapper Class)

    发布:昆明Java培训      来源:达内新闻      时间:2016-05-05

  • 昆明java培训今天所讲述的包装类是针对于原生数据类型的包装。

    因为有8个原生数据类型,所以对应有8个包装类。

    所有的包装类(8个)都位于java.lang下。

    Java中的8个包装类分别是:Byte, Short, Integer, Long, Float, Double, Character, Boolean,它们的使用方式都是一样的,可以实现原生数据类型与包装类型的双向转换。

    下面以主要Integer类为例说明。

    Integer

    Integer类将int类型的值包装到一个对象中。

    Integer通过下面这个构造方法构造相应的整型数的对象:

    public Integer(int value);

    public int intValue()方法则返回这个包装类所包装的整型值。

    自动装箱/拆箱(Autoboxing/unboxing)

    JDK5.0的一个新特性是自动装箱和自动拆箱。

    自动装箱/拆箱大大方便了基本类型数据和它们包装类的使用。

    自动装箱:基本类型自动转为包装类(int >> Integer)

    自动拆箱:包装类自动转为基本类型(Integer >> int)

    比如下面的例子:

    import java.util.ArrayList;

    import java.util.Collection;

    public class BoxTest

    {

    public static void main(String[] args)

    {

    Collection<Integer> c = new ArrayList<Integer>();

    c.add(3);//将int类型的3转换为Integer类型并放到集合当中       

    }

    }

    缓存

    下面这个程序很奇怪:

    public class BoxTest2

    {

    public static void main(String[] args)

    {

    Integer i1 = 200;

    Integer i2 = 200;

    if (i1 == i2)

    {

    System.out.println("i1 == i2");

    }

    else

    {

    System.out.println("i1 != i2");

    }

    }

    }

    当两个数都是100的时候==判断相等,当两个数都是200的时候判断不相等。

    查看内部实现代码可知,Integer类有一个缓存,它会缓存-128~127之间的整数。

    当调用valueOf的时候,不会生成新的对象,而是从缓存中取出对象。这样可以提高性能。

    使用构造方法的时候肯定会生成新的对象。

    推荐文章

上一篇:泛型之中的通配符(Wildcards)使用

下一篇:什么专业就业前景好?

最新开班日期  |  更多

Java--零基础全日制班

Java--零基础全日制班

开班日期:11/30

Java--零基础业余班

Java--零基础业余班

开班日期:11/30

Java--周末提升班

Java--周末提升班

开班日期:11/30

Java--零基础周末班

Java--零基础周末班

开班日期:11/30

  • 网址:http://km .java.tedu.cn      地址:昆明市官渡区春城路62号证券大厦附楼6楼
  • 课程培训电话:186 8716 1620      qq:2066486918    全国服务监督电话:400-827-0010
  • 服务邮箱 ts@tedu.cn
  • 2001-2016 达内国际公司(TARENA INTERNATIONAL,INC.) 版权所有 京ICP证08000853号-56