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

看板java作者 (ha(ruhi|yate)ism)時間17年前 (2007/03/10 12:00), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串10/13 (看更多)
※ 引述《walm20 (我要買車啦)》之銘言: : 不知道你的意思是不是這樣 : 我歸納一下(在筆記本上TRY的) : print會把傳入的參數每個形態都調整成同樣型態 應該說 它看到那個+是字串的+(連接) 就去呼叫 str1.toString() 把陣列變成字串 然後把那個字串換上去接起來 所以 "str1="+str1 其實是 "str1="+(str1.toString()) : 依照原本我的程式碼 : 如果改成 : System.out.print("str1="); : System.out.println(str1); : 這樣就是 : str1=My String 這只是剛好 System.out 這個 PrintStream 物件有一個 println 是收一個 char[] 的 因此 System.out.println(str1); 就會去呼叫它 它的功能是把那個字元陣列的內容像上面那樣印出來 這樣而已 所以如果你丟一個byte[]進println 它照樣印出個像是 [B@35ce36 這樣的字串 (即使你是宣告成 byte x[]={49,65,20,90}; 這樣) : 但是合起來System.out.println("str1="+str1); : 兩個type不同 : 就是上面說的 : 會調整str1的型態 : 從 char [] = > String : 她就只認得str1的起始位置 : 所以就輸出str1的起始位置 如上所說 它是呼叫 str1.toString() 把它變成字串 至於變成怎樣的字串 那是這個 toString() 在管的 而它正好是取這陣列的位置變成字串丟回來 : 不知道我想的是否正確 : 請指教(抱歉 佔用這麼多版面跟文章) -- 実琴:「河野!你真的就這樣被物質慾望給吸引過去了嗎?!」 亨:「只要穿著女裝擺出親切的樣子,所有必要花費就能全免,似乎一點都不壞啊。」 実琴:「難道你沒有男人的尊嚴了嗎?!」 亨:(斷然道)「沒有。在節衣縮食生活吃緊學生面前,沒有那種東西。」 --プリンセス・プリンセス 第二話 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 192.192.197.115
文章代碼(AID): #15yYrfFM (java)
討論串 (同標題文章)
文章代碼(AID): #15yYrfFM (java)