Re: [問題] 請問有多少個String物件被建立出來
※ 引述《adrianshum (Alien)》之銘言:
: ※ 引述《misifit (傳說中的一塊錢)》之銘言:
: : Q1
: : String s1 = "spring";
: : String s2 = s1 + "summer";
: : s1.concat("fall");
: : s2.concat(s1);
: : s1 += "winter";
: : System.out.println(s1 + " " + s2);
: : 上面有幾個物件在println之前被建立出來
: ※ 發信站: 批踢踢實業坊(ptt.cc)
: ◆ From: 202.155.236.82
: 推 yyc1217:Line 3少一個"fall" 而最後一行的println不會產生 10/23 14:24
: → adrianshum:對, 少了一個 fall. 但最後一句應該還會產生吧?! 10/23 14:40
: 推 yyc1217:最後一行為什麼要產生? 10/23 15:59
括號裡那堆東西, 到頭來會被 translate 為
new StringBuilder(s1).append(" ").append(s2).toString()
怎會不產生?
: 推 misifit:最後一行括號裡只是物件的代號 不是物件 10/23 16:05
願聞其詳
何謂物件的代號?
括號裡那堆東西, 和上面做 s1 + "summer" 做的
是同類的東西, 有什麼分別?
: 推 godfat:代號?" " 也有一個啊... 10/23 16:16
又看漏了 XDDD
: 推 lth5:原題目是「在println之前被建立出來」,所以不用算進去 10/23 22:36
題目並不是 "在 println 的一行之前被建立"
而是 "在 println 之前被建立"
s1 + " " + s2 的建立是在 println 被 invoke 之前
所以嚴格來說 這行會引發兩個 string obj 被產生
Alien
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 202.155.236.82
推
10/24 15:02, , 1F
10/24 15:02, 1F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 3 之 3 篇):