Integer.parseInt()和這個Integer.valueOf()的詳解【轉】

new Integer.valueof()返回的是Integer的對象。
Integer.parseInt() 返回的是一個int的值。
new Integer.valueof().intValue();返回的也是一個int的值。

 

parseIntjava

public static int parseInt(String s, int radix) throws NumberFormatException
以第二個參數所指定基數將字符串參數分析爲一個帶符號的整數。除了第一個字符能夠用 ASCII 的減號  '-' 來表示一個負值外,字符串中的字符必須是指定基數的數(由  Character.digit 是否返回非負值決定)。返回做爲結果的整數值。

 

參數:
s - 包含整數的  String 。
radix - 使用的進制
返回值:
指定基數的字符串參數所表示的整數。
拋出:  NumberFormatException
若該串不包含一個可分析的整數。

parseIntgit

public static int parseInt(String s) throws NumberFormatException
將字符串參數做爲帶符號十進制整數來分析。除過第一個字符爲 ASCII 字符中減號  '-' 表示的負數,字符串中的字符都必須是十進制數。

 

參數:
s - 串。
返回值:
十進制參數表示的整數。
拋出:  NumberFormatException
若該串不包含一個可分析的整數。

valueOfspa

public static Integer valueOf(String s, int radix) throws NumberFormatException
返回初始化爲指定 String 值的新的 Integer 對象。若該 String 不能做爲 int 分析,則拋出異常。

 

參數:
s - 待分析的字符串。
返回值:
新建立的  Integer ,將其以指定基數初始化爲字符串參數所表示的值。
拋出:  NumberFormatException
若  String不包含可分析的整數。

valueOf.net

public static Integer valueOf(String s) throws NumberFormatException
返回初始化爲指定 String 值的新的 Integer 對象。若該 String 不能做爲 int 分析,則拋出異常。假設基數爲 10 。

 

參數:
s - 待分析的字符串。
返回值:
新建立的  Integer ,將其初始化爲字符串參數所表示的值。
拋出:  NumberFormatException
若是該串不包含一個可分析的整數。

 

 

static int parseInt(String s)
          將字符串參數做爲有符號的十進制整數進行分析。code

static Integer valueOf(int i)
          返回一個表示指定的 int 值的 Integer 實例。
static Integer valueOf(String s)
          返回保持指定的 String 的值的 Integer 對象。orm

從返回值能夠看出他們的區別   parseInt()返回的是基本類型int
而valueOf()返回的是包裝類Integer  Integer是能夠使用對象方法的  而int類型就不能和Object類型進行互相轉換htm

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都是整數類型變量而且值相等。get

詳細解析: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

相關文章
相關標籤/搜索