Re: [問題] print char[]問題

看板java作者 (我要買車啦)時間17年前 (2007/03/10 11:32), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串9/13 (看更多)
※ 引述《moonforget (等等等等等等等等)》之銘言: : ※ 引述《walm20 (我要買車啦)》之銘言: : : 課本 str1[]={'M','y',' ','S','t','r','i','n','g'}; : : 執行結果 : : str1[]=My String : : 為什麼我這裡是出現奇怪的數字 : 這是有一些型態的問題 : 如: : String string = "happy"; : int num = 3 + 4; : System.out.println(string + num); : System.out.println(string + 3 + 4); : 顯示: : happy7 : happy34 : 這樣看出一些東西麼? : 就是個別將每項都提升成字串 : 但int為基本型態並非物件 : 而你的問題應該是個別提升成了物件,因為String也是一個物件,而char[]也是物件 : 如果你將你的程式寫成: : String string = "str = "; : char[] charArray = { 'H', 'a', 'p', 'p', 'y'}; : System.out.print(string);//用print(String s) : System.out.print(charArray);//用print(char[] c) : 顯示: : str = Happy : 就和下列程式不同 : System.out.print(string + charArray);//用print(Object obj) : 顯示: : str = [C@c17164 : (顯示charArray的記憶體位址) : 如有錯誤請指教.....我還是個嫩新手....謝謝 : By Java新手 不知道你的意思是不是這樣 我歸納一下(在筆記本上TRY的) print會把傳入的參數每個形態都調整成同樣型態 依照原本我的程式碼 如果改成 System.out.print("str1="); System.out.println(str1); 這樣就是 str1=My String 但是合起來System.out.println("str1="+str1); 兩個type不同 就是上面說的 會調整str1的型態 從 char [] = > String 她就只認得str1的起始位置 所以就輸出str1的起始位置 不知道我想的是否正確 請指教(抱歉 佔用這麼多版面跟文章) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.169.123.242 ※ 編輯: walm20 來自: 218.169.123.242 (03/10 11:33)
文章代碼(AID): #15yYRLc3 (java)
討論串 (同標題文章)
文章代碼(AID): #15yYRLc3 (java)