1. 程式人生 > >java中型別轉換(String float int)

java中型別轉換(String float int)

這幾種型別裝換,一般都會用到parseInt()、parseFloat() 、valueof()方法,但是這是有區別的。

看看他們的返回型別不同

  1. static int parseInt(String s)
    將字串引數作為有符號的十進位制整數進行分析。
  2. static Integer valueOf(int i)
    返回一個表示指定的 int 值的 Integer 例項。
  3. static Integer valueOf(String s)
    返回保持指定的 String 的值的 Integer 物件。

String —>int

需要使用 Integer 類中的 parseInt() 方法或者 valueOf() 方法進行轉換.
舉個例子:

String str = "123";
try {
    int a = Integer.parseInt(str);
} catch (NumberFormatException e) {
    e.printStackTrace();
}
String str = "123";
try {
    int b = Integer.valueOf(str).intValue()
    //int b = Integer.valueOf(str)
    //這樣也可以
} catch (NumberFormatException e) { e.printStackTrace(); }

為什麼要try-catch呢!!!

  • 因為在轉換過程中需要注意,因為字串中可能會出現非數字的情況,所以在轉換的時候需要捕捉處理異常或者throw這個異常

int—>String

int i=12345;
第一種方法:String s=i+"";
第二種方法:String s=String.valueOf(i);
第三種方法:String s=Integer.toString(i);

解釋下:

  • 從返回值可以看出他們的區別 parseInt()返回的是基本型別int 而valueOf()返回的是包裝類Integer

  • Integer是可以使用物件方法的 而int型別就不能和Object型別進行互相轉換

  • Integer.parseInt(China)返回值是int型的. 但是會報異常,因為引數是非數值的
  • Integer.valueOf(chuan)返回值是Integer型的.把Integer賦值給int型的話,JRE會自己完成這些工作

String和float的相互轉換類似。

參考連結
.