<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    2012年1月10日

    地址:https://irusist.github.io


    !





    posted @ 2015-12-31 00:37 irusisit 閱讀(81) | 評論 (0)編輯 收藏
     
        java虛擬機處理byte,short,char,int類型之間的“+”操作都是將他們轉化成int類型,壓入操作數棧,用int類型來做加法操作的,當java程序中有還有long,float,double中的一種時,會轉化成他們之中優先級最高的,優先級從long,float,double依次增高。boolean類型與上面所說的4種類型進行"+"運算,編譯報錯不通過。基礎類型與String以外的引用類型進行"+"操作時,編譯器報錯不通過。 當兩個非String的引用類型進行“+”操作時,編譯器會報錯不通過。
        當byte,short,int類型與String的引用類型進行“+”操作時,比如,在一個靜態方法里定義如下:
               byte b = 127;
            String str1 = "string";
             String str = b + str1;  

       產生的字節碼為:

             0:   bipush  127
             2:   istore_1
             3:   ldc     #2; //String string
             5:   astore_2
             6:   new     #3; //class java/lang/StringBuilder
             9:   dup
            10:  invokespecial   #4; //Method java/lang/StringBuilder."<init>":()V
            13:  iload_1
            14:  invokevirtual   #5; //Method java/lang/StringBuilder.append:(I)Ljava/lang/StringBuilder;
            17:  aload_2
            18:  invokevirtual   #6; //Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            21:  invokevirtual   #7; //Method java/lang/StringBuilder.toString:()Ljava/lang/String;
            24:  astore_3
            25:  return
         可見,String對象的與byte進行“+”操作會先生成一個StringBuilder(jdk5以后,jdk5以前是StringBuffer)對象,將byte類型轉換為int類型傳入StringBuilder.append(int)的方法內,再將String對象傳入StringBuilder.append(String)方法內,最后調用這個StringBuilder對象的toString方法得到String對象。同理,short,boolean,long,float,double類型,引用類型與String對象進行“+”操作也是同樣處理,分別調用StringBuilder的不同參數的重載方法,不過char對象與short會有所不同,他不會轉換成int類型,而是直接將char類型的值傳遞給StringBuilder的append(char)的方法。

     

    posted @ 2012-01-10 22:35 irusisit 閱讀(197) | 評論 (0)編輯 收藏
     
    主站蜘蛛池模板: 2022年亚洲午夜一区二区福利 | 亚洲Aⅴ无码一区二区二三区软件| 免费大片黄在线观看yw| 成人在线免费观看| 亚洲伊人色一综合网| fc2成年免费共享视频网站| 日本免费久久久久久久网站| 手机在线看永久av片免费| 亚洲人成电影在线观看网| 免费一本色道久久一区| 亚洲免费综合色在线视频| www免费黄色网| 亚洲av永久无码精品网站| 亚洲大成色www永久网址| 色www永久免费| 亚洲人成网站在线播放影院在线| 亚洲成av人片在线天堂无| 国产精品嫩草影院免费| 亚洲日韩图片专区第1页| 亚洲啪啪免费视频| 亚洲人成人一区二区三区| 美女黄色免费网站| 伊人久久综在合线亚洲91| 未满十八18禁止免费无码网站 | 亚欧人成精品免费观看| 2020久久精品亚洲热综合一本| 四虎免费在线观看| 一区视频免费观看| 亚洲视频一区二区在线观看| 日韩免费电影在线观看| 久久www免费人成看国产片| 免费午夜爽爽爽WWW视频十八禁| 巨胸狂喷奶水视频www网站免费| 亚洲乱码国产一区网址| 国产精品免费福利久久| 亚洲无mate20pro麻豆| 亚洲国产中文v高清在线观看| 日韩精品久久久久久免费| 国产精品亚洲аv无码播放| 国产男女爽爽爽爽爽免费视频| 久久精品国产亚洲AV大全|