看板 java 關於我們 聯絡資訊
※ 引述《fungi8210 (開始投履歷摟!!)》之銘言: : System.out.println 這一個 method 如果你傳 object 進去而沒有 : 呼叫任何的 method, 他 default 會呼叫 toString() 這個 method. : ※ 引述《idman (9527)》之銘言: [43] : : return "point1:" + pt1 + ",point2:" + pt2; [43] : : System.out.println("line1 = " + line1); [43] : : System.out.println("line1 = " + line1); : : } : : } : : 我的問題是 當中並沒有呼叫 toString()這個函數 : : 請問為什麼會執行到當中的值呢 你說得沒有錯, 但在原問者的情況, 並不是 println 收到一個 Object的情況, 而是 String concatenation 時, Object 的部份 會 invoke 其 toString 再用其 return String 作 concat (再詳細一點的話, String concat 其實背後是 StringBuffer append(), 而 append() 如果 是傳入 Object 則會 invoke toString()) Aliens -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 202.72.0.45