`
liugang594
  • 浏览: 981954 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Java1.5介绍之自包装与拆装

阅读更多
问题
  1:在原始类型与包装类型间转换

  2:当把一个原始类型加到集合中时需要进行转换

(第一部分)
    //old 1.4 style
    Integer intObj1 = new Integer(22);
    int i = intObj1.intValue();

    System.out.println(i);            //output: 22

     //new 1.5 style
     Integer i =new Integer(3);
     int j = i;                      //auto-unboxing

     System.out.println(j);          //output: 3

(第二部分)     
      //old 1.4 style
      ArrayList al1 = new ArrayList();

      al1.add(new Integer(24));       //or al1.add(Integer.valueOf(24))

      //new 1.5 style
      ArrayList a = new ArrayList();

      a.add(4);                     // auto-boxing conversion  

编译为.class模块后,我们使用DJ Java Decompiler重新反编译得到以下代码:
(第一部分)
        Integer i = new Integer(3);
        int j = i.intValue();
(第二部分)
       ArrayList a = new ArrayList();
       a.add(Integer.valueOf(4));
从上现可以看出转换的工作都由编译器完成了!
注:当包装类型为null时,转换会发生NollPointerException。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics