一個Java數(shù)據(jù)類型的問題








在第一個System.out.println(123);中123 是 int類型的
在第一個System.out.println(“123”);中"123 "是 String類型的
那為什么會輸出一樣的結(jié)果呢?
JVM會自動將這個int類型包裝成Integer類型,然后調(diào)用其toString方法
"123"是String類型,這里也是會自動調(diào)用它的toString方法
所以結(jié)果是一樣的
123是int類型,它是JAVA的基礎數(shù)據(jù)類型,不能用.來調(diào)用方法,它也不是對象。
如果非要寫,可以:Integer.valueOf(123).toString();
在System.out.println(Object obj);的時候..參數(shù)是一個對象,如果是基本數(shù)據(jù)類型,JVM會自動裝箱。然后會自動調(diào)用該對象的toString()方法
每個類都有toString()方法,如果你沒寫,會默認繼承自Object類的toString方法