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