總也睡不醒
          一個人只擁有今生今世是不夠的,他還應(yīng)該擁有詩意的世界
          posts - 3,  comments - 5,  trackbacks - 0

          我的評論

           沒人理我!自己先頂一個。
           
          我用Jode反編譯后,TestEnum類成了這樣:
            1public class TestEnum
            2{
            3    public static void main(String[] strings) {
            4    MyColor mycolor = MyColor.blue;
            5    switch (ANONYMOUS CLASS TestEnum$1.$SwitchMap$MyColor
            6        [mycolor.ordinal()]) {
            7    case 1:
            8        System.out.println("red");
            9        break;
          10    case 2:
          11        System.out.println("green");
          12        break;
          13    case 3:
          14        System.out.println("blue");
          15        break;
          16    default:
          17        System.out.println("default");
          18    }

          19    System.out.println(mycolor);
          20    }

          21}
          注意看switch語句塊和原文的不同。第五行出現(xiàn)了匿名類,這應(yīng)該就是TestEnum$1.class產(chǎn)生的原因。再看每個case語句,red green blue變成了1 2 3。這也是枚舉常量的實質(zhì)。不過我又奇怪了, 枚舉類型的ordinal方法API幫助上是這么寫的:“返回枚舉常量的序數(shù)(它在枚舉聲明中的位置,其中初始常量序數(shù)為零)”。
           
          所以啊,不研究不知道,一研究問題一大堆。看來我得要理解JVM和Java對枚舉和匿名類的處理方式了。不過以我現(xiàn)在的水平,不是一時半會兒能完全想明白的。
           
          那位高手能指點我一下嗎?謝謝了先!
          一點一滴,完善自我

          <2025年7月>
          293012345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          常用鏈接

          留言簿

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          收藏夾

          搜索

          •  

          最新評論

          主站蜘蛛池模板: 招远市| 古蔺县| 南宁市| 泰和县| 如皋市| 边坝县| 平潭县| 六枝特区| 祁门县| 呈贡县| 皋兰县| 岢岚县| 西乌珠穆沁旗| 离岛区| 陵川县| 穆棱市| 阿拉善右旗| 吉安县| 安徽省| 连江县| 东乡| 黎平县| 阳谷县| 瓮安县| 宁海县| 永年县| 蓬溪县| 义乌市| 吉木萨尔县| 泾阳县| 昆山市| 平武县| 客服| 崇阳县| 潞西市| 乌审旗| 南召县| 安陆市| 内江市| 潮安县| 富平县|