Java字符串和數字間的轉換

一、字符串轉數字

1、通過基本類型對應的包裝類則可以實現把字符串轉換成基本類型。Java爲8種基本類型都提供了對
應的包裝類:boolean對應Boolean、byte對應Byte、short對應Short、int對應Integer、long對

應Long、char對應Character、float對應Float、double對應Double,8個包裝類都提供了一個
parseXxx(String str)靜態方法用於將字符串轉換成基本類型。(**注意:如果字符串不是數值型字
符串,轉換將導致一個運行時錯誤。**)

String s = "123";

byte b = Byte.parseByte(s);
short t = Short.parseShort(s);
int i = Integer.parseInt(s);
long l = Long.parseLong(s);
Float f = Float.parseFloat(s);
Double d = Double.parseDouble(s);
boolean bo = Boolean.parseBoolean(s);
char c = Character.parseCharacter(s);

2、i=Integer.valueOf(s).intValue();

總結:方法1直接使用靜態方法,不會產生多餘的對象,但會拋出異常。方法2,Integer.valueOf(s
) 相當於new Integer(Integer.parseInt(s)),也會拋異常,但會多產生一個對象。

二、數字轉字符串

1、String.valueOf(Object)

各種數字類型轉換成字符串型:

// 其中 value 爲任意一種數字類型。將不用擔心object是否爲null值這一問題。
String s = String.valueOf(value);

Jdk裏String. valueOf(Object)源碼如下:

/**
  *
  * Returns the string representation of the Object argument.
  * @param   obj   an Object.
  * @return if the argument is null, then a string equal to
  * “null”; otherwise, the value of
  * obj.toString() is returned.
  * @see    java.lang.Object#toString()
  */

public static String valueOf(Object obj) {
    return (obj == null) ? “null” : obj.toString();
}

從上面的源碼可以很清晰的看出null值不用擔心的理由。但是,這也恰恰給了我們隱患。我們應當注
意到,當object爲null時,String.valueOf(object)的值是字符串”null”,而不是null!!!
在使用過程中切記要注意。
2、Object.toString()
在使用時要注意,必須保證object不是null值,否則將拋出NullPointerException異常。
3、i + “”
4、(String)要轉換的對象
使用這種方法時,需要注意的是類型必須能轉成String類型。因此最好用instanceof做個類型檢查,
以判斷是否可以轉換。否則容易拋出CalssCastException異常。此外,需特別小心的是因定義爲
Object類型的對象在轉成String時語法檢查並不會報錯,這將可能導致潛在的錯誤存在。這時要格外
小心。此外,因null值可以強制轉換爲任何java類類型,(String)null也是合法的。

效率:方法2>方法3>方法1,方法1和方法3差別不大。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章