包裝類與String以及基本數據類型之間的類型互轉(小白理解,小白編寫,歡迎大神指點,小白跪謝)

@code

1、前言(可忽略)

        emmmm....仍是免了,寫多了本身都煩,直接進入正文。對象

2、包裝類和String以及基本數據類型之間的類型互轉

小白理解:
      小白這裏以int爲例,int轉Integer爲開頭字符串

       int->Integer源碼

Integer I=new Integer(100);//手動裝箱(int->Integer)
//Integer I=100;//自動裝箱
System.out.println("int->Integer:"+I);//int->Integer

注意:看上去I是Integer類型,實際上底層因爲I是引用類型會自動調用toString方法,將對象轉換爲字符串形式來顯示)---------具體,本身去翻底層源碼去。string

結果:class

int->Integer:100

仍是以I爲例,時間緊湊,emmm...具體直接(上圖)。數據類型

       Integer->String引用

Integer I=new Integer(100);
String X=String.ValueOf(I);//Integer->String    
System.out.println(X);//這裏因爲X是String類型,不記得請看左下--------小白原創String類。
//輸出String對象自動調用toString

注意:valueOf()方法的做用---------------類型轉換,一般是哪一個類型調用,就轉哪一個類型,但包裝類中的Integer.parsetInt()不是。(對包裝類有點印象,英語好的大佬,都看得出來,嗯。)方法

結果:數據

Integer->String:100

      String->int

Integer T=new Integer(100);                                                    //int->Integer
String X=String.ValueOf(T);                                                   //Integer->String 
System.out.println("String->int:"+Integer.parsetInt(X)); //這裏就須要用到parsetInt()方法了,別問,問就是這個方法的做用就是String->int

結果:

String->int:100

好,我們接下來倒過來。

      int->String

int N=100;
System.out.println("int->String:"+N+"");//向上轉型
System.out.println("int->String:"+String.toString(N));//將100轉換爲Sting類型

(小白深度剖析:其實不調用String.toString也可,由於print底層源碼輸出時,也會經過valueOf()方法將int轉爲字符串形式,而經過類型轉換String.valueOf(底層則是toString,將對象轉換爲字符串形式))

結果:

int->String:100
int->String:100

上面,咱已經講到int->Sting了,嗯,加油。
      String->Integer

String M="123";
System.out.println("String->Integer:"+Integer.valueOf(M));//調用Integer類的valueof()方法將String轉換爲Integer

結果:

String->Integer:123

最後,完工了。
      Integer->int

//借用一下圖一:
    Integer I=1000:
    System.out.println("Integer->int:"+I.intvalueOf())//手動拆箱
    int U=I;//自動拆箱
    System.out.println("Integer->int:"+U);

結果:

Integer->int:1000
Integer->int:1000

若是你能弄懂到這裏,恭喜,你對這三者的理解已經如德芙同樣絲滑了。

最最最後說一下,將本身不理解的地方,一口氣用本身的語言表達出來是真的爽!!!!!!!!!

相關文章
相關標籤/搜索