Re: [問題] print char[]問題
※ 引述《walm20.bbs@ptt.cc (我要買車啦)》之銘言:
> 不知道你的意思是不是這樣
> 我歸納一下(在筆記本上TRY的)
> print會把傳入的參數每個形態都調整成同樣型態
> 依照原本我的程式碼
> 如果改成
> System.out.print("str1=");
> System.out.println(str1);
> 這樣就是
> str1=My String
> 但是合起來System.out.println("str1="+str1);
> 兩個type不同
> 就是上面說的
> 會調整str1的型態
[-----------------]
字串的「加法」會結合 2 個字串
如果運算的東西不是字串時,會呼叫 toString() 方法
char[] 是一個物件,所以他當然會有 toString()
這是來自物件之母/父的 Object 所擁有的 toString()
> 從 char [] = > String
至於第 2 行的
str1=My String 會成功,並不是您真的印了「字串」
http://java.sun.com/j2se/1.4.2/docs/api/java/io/PrintStream.html
#println(char[])
你只是呼叫了其中一個 print 可以填入 char[] 的方法罷了
> 她就只認得str1的起始位置
> 所以就輸出str1的起始位置
依之前的文章看,也許您學習過 c 語言
所以要提醒您在 java 中,
字串是由 String 所建立,
或是以 "" 包起來的才叫字串
不再是以一串 char[] 並含有 '\0' 者為字串
> 不知道我想的是否正確
> 請指教(抱歉 佔用這麼多版面跟文章)
有問題就問,
您也沒有使用不禮貌的問法,
不用覺得抱歉 :)
--
※ Origin: SayYA 資訊站 <bbs.sayya.org>
◆ From: 218-161-127-199.dynamic.hinet.net
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 11 之 13 篇):