new Integer.valueof()返回的是Integer的對象。
Integer.parseInt() 返回的是一個int的值。
new Integer.valueof().intValue();返回的也是一個int的值。
parseInt
public static int parseInt(String s, int radix) throws NumberFormatException
-
以第二個參數所指定基數將字符串參數分析為一個帶符號的整數。除了第一個字符可以用 ASCII 的減號
'-'
來表示一個負值外,字符串中的字符必須是指定基數的數(由Character.digit
是否返回非負值決定)。返回作為結果的整數值。 -
- 參數:
-
s - 包含整數的
String
。 - radix - 使用的進制
- 返回值:
- 指定基數的字符串參數所表示的整數。
- 拋出: NumberFormatException
- 若該串不包含一個可分析的整數。
public static int parseInt(String s) throws NumberFormatException
-
將字符串參數作為帶符號十進制整數來分析。除過第一個字符為 ASCII 字符中減號
'-'
表示的負數,字符串中的字符都必須是十進制數。 -
- 參數:
- s - 串。
- 返回值:
- 十進制參數表示的整數。
- 拋出: NumberFormatException
- 若該串不包含一個可分析的整數。
public static Integer valueOf(String s, int radix) throws NumberFormatException
-
返回初始化為指定 String 值的新的 Integer 對象。若該 String 不能作為 int 分析,則拋出異常。
-
- 參數:
- s - 待分析的字符串。
- 返回值:
-
新創建的
Integer
,將其以指定基數初始化為字符串參數所表示的值。 - 拋出: NumberFormatException
-
若
String
不包含可分析的整數。
public static Integer valueOf(String s) throws NumberFormatException
-
返回初始化為指定 String 值的新的 Integer 對象。若該 String 不能作為 int 分析,則拋出異常。假設基數為 10 。
-
- 參數:
- s - 待分析的字符串。
- 返回值:
-
新創建的
Integer
,將其初始化為字符串參數所表示的值。 - 拋出: NumberFormatException
- 如果該串不包含一個可分析的整數。
static int parseInt(String s)
將字符串參數作為有符號的十進制整數進行分析。
static Integer valueOf(int i)
返回一個表示指定的 int 值的 Integer 實例。
static Integer valueOf(String s)
返回保持指定的 String 的值的 Integer 對象。
從返回值可以看出他們的區別 parseInt()返回的是基本類型int
而valueOf()返回的是包裝類Integer Integer是可以使用對象方法的 而int類型就不能和Object類型進行互相轉換
int zhuan=Integer.parseInt(chuan);
int zhuanyi=Integer.valueOf(chuan); 為什么你的程序返回值都可以用int來接收呢? 因為Integer和int可以自動轉換
Integer i = 5; int k = i;像是這樣表示是沒有編譯錯誤的
例題:
設有下面兩個賦值語句:
a = Integer.parseInt(“123”);
b = Integer.valueOf(“123”).intValue();
下述說法正確的是( d )。
A、a是整數類型變量,b是整數類對象。
B、a是整數類對象,b是整數類型變量。
C、a和b都是整數類對象並且值相等。
D、a和b都是整數類型變量並且值相等。
詳細解析:
parseInt(String s )方法是類Integer的靜態方法,它的作用就是將形參 s 轉化為整數,比如:
Interger.parseInt("1")=1;
Integer.parseInt("20")=20;
Integer.parseInt("324")=324;
當然,s 表示的整數必須合法,不然是會拋異常的。
valueOf(String s )也是Integer類的靜態方法,它的作用是將形參 s 轉化為Integer對象,
什么是Integer對象,Integer就是基本數據類型int型包裝類,就是將int包裝成一個類,這樣在很多場合下是必須的。如果理解不了,你就認為int是Integer的mini版,好用了很多,但也丟失了一些功能,好了,看代碼:
Interger.valueOf("123")=Integer(123)
這時候Integer(123)就是整數123的對象表示形式,它再調用intValue()方法,就是將123的對象表示形式轉化為基本數據123
所以,選擇D