問題:將String類型的數字轉換爲數值類型,能夠使用包裝類的valueof()方法或者parseInt()等方法;使用valueof()方法返回的是包裝類型,使用parseInt()等方法返回的是基本類型,valueof()等方法底層調用parseInt()等方法;Java有自動拆箱和裝箱的機制,使用兩種方式中的任意一種均可以,可是在特殊狀況下不能隨意使用,好比:要進行頁面空值和0輸出時,Integer能夠爲空,而int爲0。java
Integer類的一些方法:數據庫
//這些都是類的靜態方法,不用New對象,直接使用
// 只有Character 沒有 toString() 方法,jvm
int num = 1; string s1 = num + "";//先裝箱,調用toString方法,再相加 string s2 = num.toString();//基本類型不能調用toString方法 //總結:若是是包裝類型轉換爲字符串,使用toString方法比+「」方式好 Integer i = new Integer(1); Map<String,Object> map = new HashMap(); map.put("num",i); String iStr = map.get("num")+"";//map.get("num")
下面記錄他們的區別:函數
package test; public class Test { public static void main(String[] args) { Integer i1 = 127;//指向常量池中的127 Integer i2 = 127;//指向常量池中的127 System.err.println(i1 == i2);//指向同一內存區域,輸出true i1 = 128; //建立對象 i2 = 128; //建立對象 System.err.println(i1 == i2); //指向不一樣區域,輸出false } }