在第一個(gè)System.out.println(123);中123 是 int類(lèi)型的 在第一個(gè)System.out.println(“123”);中"123 "是 String類(lèi)型的 那為什么會(huì)輸出一樣的結(jié)果呢? JVM會(huì)自動(dòng)將這個(gè)int類(lèi)型包裝成Integer類(lèi)型,然后調(diào)用其toString方法 "123"是String類(lèi)型,這里也是會(huì)自動(dòng)調(diào)用它的toString方法
所以結(jié)果是一樣的 123是int類(lèi)型,它是JAVA的基礎(chǔ)數(shù)據(jù)類(lèi)型,不能用.來(lái)調(diào)用方法,它也不是對(duì)象。 如果非要寫(xiě),可以:Integer.valueOf(123).toString(); 在System.out.println(Object obj);的時(shí)候..參數(shù)是一個(gè)對(duì)象,如果是基本數(shù)據(jù)類(lèi)型,JVM會(huì)自動(dòng)裝箱。然后會(huì)自動(dòng)調(diào)用該對(duì)象的toString()方法 每個(gè)類(lèi)都有toString()方法,如果你沒(méi)寫(xiě),會(huì)默認(rèn)繼承自O(shè)bject類(lèi)的toString方法
posted on 2009-09-08 11:00 幻櫻釋 閱讀(194) 評(píng)論(2) 編輯 收藏
這里并沒(méi)有自動(dòng)裝箱 這里調(diào)用的是兩個(gè)不同的方法,不同類(lèi)型參數(shù)的重載而已 System.out.println(int arg0) System.out.println(String arg0) 事實(shí)上System.out.println() 對(duì)所有基本類(lèi)型都進(jìn)行了重載 自動(dòng)裝箱與拆箱是JDK 1.5后才有的特性 而你在JDK1.4 及之前版本下就可以直接使用 System.out.println(123); 這樣的語(yǔ)句,可見(jiàn),并沒(méi)有自動(dòng)裝箱成Integer對(duì)象 回復(fù) 更多評(píng)論
謝謝您的指點(diǎn) 回復(fù) 更多評(píng)論
Powered by: BlogJava Copyright © 幻櫻釋