Re: [問題] print char[]問題
※ 引述《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
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 10 之 13 篇):