Q102.
一Java 程式片段如下,執行後下列何者為其輸出?
電腦軟體設計(JAVA) · 乙級 · Java · Q102
難易度分析
3 / 5
本題考察 Java 語言中物件參考位址與內容比較的基礎核心概念。選項中包含易混淆的布林值與集合格式,需要對記憶體配置機制有精確掌握才能排除干擾選項。
正確答案:④false
④ false:布林值 false 為正確答案。此題考點為 Java 的 字串比較機制:使用 `==` 運算子比較兩個以 `new String()` 建立的 String 物件時,即使內容相同,因記憶體位址不同,結果為 false。正確做法應使用 `.equals()` 方法進行內容比較。
錯誤選項解析
- ① [A, B]:陣列輸出格式 [A, B] 通常來自 `Arrays.toString()` 或 `ArrayList` 的 `toString()` 方法,但此程式片段的執行邏輯並非產生陣列內容。
- ② [A, B, C, D]:陣列輸出格式 [A, B, C, D] 同樣是集合類別的預設字串表示法,與此題程式片段的實際執行結果不符。
- ③ true:布林值 true 為常見干擾選項。在 Java 中若使用 `==` 比較兩個內容相同但記憶體位址不同的 String 物件,會回傳 false 而非 true,因為 `==` 比較的是物件參考位址而非字串內容。
Learning Tip
"此題核心考點為 Java 字串比較的 `==` 與 `.equals()` 差異。`==` 比較物件參考位址,`.equals()` 比較字串內容。實務上比較 String 一律使用 `.equals()` 或 `Objects.equals()` 避免 NullPointerException。常考陷阱為 `String s1 = "abc"; String s2 = "abc";`(字串常數池會使 `==` 回傳 true)與 `new String("abc")`(強制建立新物件,`==` 必為 false)的混淆情境。"
學員答題分佈
①[A, B]0%
②[A, B, C, D]0%
③true0%
④false0%
此答題分佈是根據學員在 LongePass 模擬考等實際作答紀錄計算而成。與考友分享這道歷屆試題與詳細解析!