看板 java 關於我們 聯絡資訊
※ 引述《misifit (傳說中的一塊錢)》之銘言: : Q1 : String s1 = "spring"; : String s2 = s1 + "summer"; : s1.concat("fall"); : s2.concat(s1); : s1 += "winter"; : System.out.println(s1 + " " + s2); : 上面有幾個物件在println之前被建立出來 string literal 算不算是 "建立" ? 算的話... line 1: "spring" line 2: "summer", "springsummer" line 3: "springfall" line 4: "springsummerspring" line 5: "winter", "springwinter" line 6: println 裡那條長東西 的確是 8 個 : Q2 : public String makinStrings() { : String s = “Fred”; : s = s + “47”; : s = s.substring(2, 5); : s = s.toUpperCase(); : return s.toString(); : } : How many String objects will be created when this method is invoked? : Q1 我算很久算出來是8個String 物件被建立出來 : Q2 的話我覺得是五個 可是答案是3個(不確定答案是不是一定正確) : 麻煩大家幫我算一下可以嗎 感激 Q2 當是 5 個的話, 就是包含 literal 3 個就是不包 literal 如果問題是問在 makinStrings() 裡面建立的話, 那的確是 3 個, 因為 literals 是在 makinStrings 以 外就已經早被建立出來了 Alien -- ※ 發信站: 批踢踢實業坊(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
misifit:最後一行括號裡只是物件的代號 不是物件 10/23 16:05
godfat:代號?" " 也有一個啊... 10/23 16:16
lth5:原題目是「在println之前被建立出來」,所以不用算進去 10/23 22:36