Java的基本數據類型有 float char byte short int long double boolean八種
類型轉換使我們在寫代碼中經常會用到的知識,下面做一個簡單的總結,第一篇文章主要是string轉換爲其他類型。其他類型轉換爲string以及其他類型的互相轉換之後會另寫。有什麼不足以及錯誤的地方希望大家可以指出來,我會虛心接受並改正。第一次寫沒有什麼經驗,望海涵。
String
1.String轉char
1>toCharArray()
說明:將字符串轉換爲一個新的字符數組
演示:String s="哈哈hah";
char[]c=s.toCharArray();
備註:將string中所有的字符都存到字符數組中
2>charAt(int index)
說明:返回指定索引處的 char 值
演示:String s="哈哈hah";
char c=s.charAt(0);
(c="哈")
備註:只轉一個字符
2.String轉byte
1>getBytes()
說明:使用平臺的默認字符集將此 String 編碼爲 byte 序列,並將結果存儲到一個新的 byte 數組中。
演示:String s="哈哈啦啦Ahah";
byte[]b=s.getBytes();
詳解:默認情況下,漢字會被轉成兩個負整數,英文字母和符號會被轉成ASCII碼。
備註:如果需要對編碼過程進行更多控制,則應該使用 CharsetEncoder 類。
3.String轉int
1>parseInt(String s)throws NumberFormatException
說明:將字符串參數作爲有符號的十進制整數進行解析。
演示:String s="1010101";
int i = Integer.parseInt(s);
詳解:這個方法是將int 表示形式的 String轉化爲int,也就是說s中必須是數字(“-”也可以,十六進制中的ABCDEF需要設置參數,參見方法2>)。在這個方法中,默認s中的 int是十進制的。拋出異常參見方法2.
備註:如果s不是十進制,則需要用到方法2>。
2>parseInt(String s,int radix)throws NumberFormatException
說明:使用第二個參數指定的基數,將字符串參數解析爲有符號的整數。
演示:String s="1010101";
int i = Integer.parseInt(s,2);
//設置s爲二進制int,然後將二進制的s轉化成十進制。i=85
詳解:如果不設置參數,默認radix是10.
遇到以下情況會拋出NumberFormatException異常:
A.第一個參數爲 null 或一個長度爲零的字符串。
B.基數小於 Character.MIN_RADIX 或者大於 Character.MAX_RADIX。
C.假如字符串的長度超過 1,那麼除了第一個字符可以是減號 '-' ('u002D’) 外,字符串中存在
任意不是由指定基數的數字表示的字符。
D.字符串表示的值不是 int 類型的值。
備註:記得trycatch。
3>valueOf(String s, int radix)throws NumberFormatException + intValue()以
說明:valueOf/ 返回一個 Integer 對象,該對象中保存了用第二個參數提供的基數進行解析時從指定的 String 中提取的值。
intValue/ int 類型返回該 Integer 的值。
演示:String s="1010101";
int i = Integer.valueOf(s).intValue();//將s視爲十進制 i=1010101
//這樣寫其實也可以 int i = (new Integer(s)).intValue();
String s="1010101";
int i = Integer.valueOf(s,2).intValue();//將s視爲二進制 i=85
詳解:方法一和方法二的具體實現方式。
備註:注意拋出異常。建議用上面的方法。
4.String轉double,String轉long,string轉short參見String轉int
說明:方法都一樣,唯一不同的是函數名不一樣。對於int而言是intValue(),Integer.parseInt();對於double來說是doubleValue(),Double.parseDouble()。
轉成其他形式也一樣。
5.String轉Boolean
1>parseBoolean(String s)
說明:將字符串參數解析爲 boolean 值
演示:Boolean.parseBoolean("True") //返回 true。
Boolean.parseBoolean("yes") //返回 false。
詳解:將字符串參數解析爲 boolean 值。如果 String 參數不是 null 且在忽略大小寫時等於 "true",則返回的 boolean 表示 true 值。
備註:用的不太多。
2>getBoolean(String name)
說明:當且僅當以參數命名的系統屬性存在,且等於 "true" 字符串時,才返回 true。