型態檢查 |
尚未結案
|
hkstm
一般會員 發表:23 回覆:31 積分:10 註冊:2002-03-15 發送簡訊給我 |
|
yachanga
資深會員 發表:24 回覆:335 積分:296 註冊:2003-09-27 發送簡訊給我 |
轉錄自java連線版 發信人: TAHO, 看板: java 精華區
標 題: String與基本資料型態(int byte...等)之間的轉換
發信站: 140.126.22.6 竹師風之坊
Origin: Local 1. 由 基本資料型態轉換成 String String 類別中已經提供了將基本資料型態轉換成 String 的 static 方法
也就是 String.valueOf() 這個參數多載的方法 有下列幾種 String.valueOf(boolean b) : 將 boolean 變數 b 轉換成字串 String.valueOf(char c) : 將 char 變數 c 轉換成字串 String.valueOf(char[] data) : 將 char 陣列 data 轉換成字串 String.valueOf(char[] data, int offset, int count) :
將 char 陣列 data 中 由 data[offset] 開始取 count 個元素 轉換成字串 String.valueOf(double d) : 將 double 變數 d 轉換成字串 String.valueOf(float f) : 將 float 變數 f 轉換成字串 String.valueOf(int i) : 將 int 變數 i 轉換成字串 String.valueOf(long l) : 將 long 變數 l 轉換成字串 String.valueOf(Object obj) : 將 obj 物件轉換成 字串, 等於 obj.toString() 用法如:
int i = 10;
String str = String.valueOf(i);
這時候 str 就會是 "10" 2. 由 String 轉換成 數字的基本資料型態 要將 String 轉換成基本資料型態轉
大多需要使用基本資料型態的包裝類別 比如說 String 轉換成 byte
可以使用 Byte.parseByte(String s)
這一類的方法如果無法將 s 分析 則會丟出 NumberFormatException byte :
Byte.parseByte(String s) : 將 s 轉換成 byte
Byte.parseByte(String s, int radix) : 以 radix 為基底 將 s 轉換為 byte
比如說 Byte.parseByte("11", 16) 會得到 17 double :
Double.parseDouble(String s) : 將 s 轉換成 double float :
Double.parseFloat(String s) : 將 s 轉換成 float int :
Integer.parseInt(String s) : 將 s 轉換成 int long :
Long.parseLong(String s) : 將 s 轉換成 long 用法如:
try{ String str = "1234"; int a = Integer.parseInt(str); } catch (NumberFormatException e){ System.out.println(" parse int error!! " e); }~悠遊法國號~ |
ramb
一般會員 發表:1 回覆:4 積分:1 註冊:2004-04-13 發送簡訊給我 |
我想 , 他問的問題應該是比對型態而不是型態轉換吧. (應該沒有理解錯的話)
附個範例:
public class Class { public Class() { String str="test"; if(str.getClass()==String.class) System.out.println("ok"); } public static void main(String[] argc){ new Class(); } }發表人 - ramb 於 2004/04/14 09:13:15 |
hkstm
一般會員 發表:23 回覆:31 積分:10 註冊:2002-03-15 發送簡訊給我 |
|
ramb
一般會員 發表:1 回覆:4 積分:1 註冊:2004-04-13 發送簡訊給我 |
instanceof 跟 getClass == 比對不太一樣喔. 參考
public class Test { public static void main(String[] argc){ child robin = new child(); System.out.println( (robin instanceof father) ); System.out.println( (robin.getClass()==father.class) ); } } class father{} class child extends father{}instanceof 是會去看能不能轉型成某物件. 當然騰一個型態的物件一定回傳 true. 如果像上面你把 child instanceof father. 雖然型態不一樣, 但是因為繼承的關係 所以還是回傳 true. 另外, 這兩個方法執行效率不一樣. instanceof 會比較慢. |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |