從code學習java tiger之自動裝箱 拆箱

          Posted on 2006-06-22 18:34 BlueO2 閱讀(409) 評論(0)  編輯  收藏 所屬分類: JAVA foundation
          public ? class ?AutoBoxing? {
          ????
          ????
          /** ?Creates?a?new?instance?of?AutoBoxing? */
          ????
          public ?AutoBoxing()? {
          ????}

          ????
          public ? void ?boxingDemo() {
          ????????
          // auto?boxing
          ????????Integer?i? = ? 0 ;
          ????????
          float ?f? = ? 1.66f ;
          ????????Float?F?
          = ?f;
          ????????
          // auto?unboxing
          ????????Integer?I? = ? new ?Integer( 1 );
          ????????
          int ?i2? = ?I;
          ????????
          // null?value?test,?it?will?case?NullPointerException
          ????????Integer?I2? = ? null ;
          ????????
          int ?i3? = ?I2;
          ????}

          ????
          public ? void ?testOperator() {
          ????????Integer?i?
          = ? 1 ;
          ????????
          while ( true ) {
          ????????????i
          ++ ;
          ????????????System.out.println(
          " Counter: " + i);
          ????????????
          if (i > 5 )? break ;
          ????????}

          ????}

          ????
          public ? void ?testCompare() {
          ????????
          // it's?equal?because?-127~127?are?immutable?objects
          ????????Integer?i? = ? 1 ;
          ????????Integer?i2?
          = ? 1 ;
          ????????
          if (i? == ?i2)?System.out.println( " 1:Equal " );
          ????????
          else ?System.out.println( " 1:Not?Equal " );
          ????????
          // it's?not?equal?because?j?and?j2?are?different?objects
          ????????Integer?j? = ? 200 ;
          ????????Integer?j2?
          = 200 ;
          ????????
          if (j? == ?j2)?System.out.println( " 200:Equal " );
          ????????
          else ?System.out.println( " 200:Not?Equal " );
          ????}

          ????
          public ? void ?testControl() {
          ????????Boolean?flag?
          = ? true ;
          ????????Integer?i?
          = ? 20 ;
          ????????Integer?j?
          = ? 30 ;
          ????????
          if (flag) {
          ????????????System.out.println(
          " Boolean?affects " );
          ????????}

          ????????
          if (i < j)
          ????????????System.out.println(
          " Integer?affects " );
          ????}

          ????
          public ? void ?testMethod( double ?arg) {
          ????????System.out.println(
          " public?void?testMethod(double?arg)?is?invoked " );
          ????}

          ????
          public ? void ?testMethod(Integer?arg) {
          ????????System.out.println(
          " public?void?testMethod2(Integer?arg)?is?invoked " );
          ????}

          ????
          public ? static ? void ?main(String?args[]) {
          ????????AutoBoxing?auto?
          = ? new ?AutoBoxing();
          ????????auto.testCompare();
          ????????auto.testOperator();
          ????????auto.testControl();
          ????????
          int ?i? = ? 1 ;
          ????????
          // ?public?void?testMethod(Integer?arg)?wouldn't?be?invoked
          ????????
          // because??public?void?testMethod(double?arg)?will?be?invoked?in?JDK1.4
          ????????
          // Java?tiger?consider?the?backward?capability
          ????????auto.testMethod(i);
          ????????auto.boxingDemo();
          ????}

          ????
          }

          posts - 29, comments - 3, trackbacks - 0, articles - 0

          Copyright © BlueO2

          主站蜘蛛池模板: 高阳县| 荆门市| 凤台县| 南江县| 绥滨县| 青神县| 阿图什市| 深泽县| 宁德市| 桃源县| 广水市| 思茅市| 峨眉山市| 永平县| 海原县| 沙湾县| 得荣县| 旬阳县| 沐川县| 余干县| 赞皇县| 治多县| 英德市| 苏州市| 哈密市| 禹城市| 吴堡县| 神农架林区| 西乌珠穆沁旗| 宝兴县| 康保县| 宜丰县| 宜君县| 望都县| 莒南县| 博爱县| 驻马店市| 长武县| 华池县| 桃园市| 涿州市|