Q101.
一Java 程式片段如下,執行後下列何者為其輸出?
電腦軟體設計(JAVA) · 乙級 · Java · Q101
難易度分析
2 / 5
本題考查對特定 API 回傳型別的理解以及區分程式碼中干擾項的能力,需精確判別方法的功能定義方能得出結論。
正確答案:③true
③ true:`list1` 包含 {"A", "B", "C", "D"},`list2` 包含 {"A", "B"},`containsAll()` 會檢查 list1 是否包含 list2 的所有元素,因 A 與 B 皆存在於 list1 中,故回傳 true。
錯誤選項解析
- ① 1:程式碼中 `containsAll()` 方法回傳的是 布林值(boolean) 而非整數,因此不會輸出數字 1。
- ② 2:同上,`containsAll()` 的回傳型別為 boolean,不會輸出數字 2。
- ④ false:若 list2 中有元素不在 list1 內才會回傳 false,但此題 list2 的 {"A", "B"} 全部包含於 list1 中,因此不會輸出 false。
Learning Tip
"此題常考陷阱在於 `containsAll()` 與 `contains()` 的差異:`contains()` 檢查單一元素是否存在,`containsAll()` 檢查集合是否包含另一集合的全部元素。另外需注意程式碼中的 `clone()` 操作(變數 a)為干擾項,不影響最終輸出結果。實務上應熟悉 Collection 介面 的常用方法及其回傳型別。"
學員答題分佈
①10%
②20%
③true0%
④false0%
此答題分佈是根據學員在 LongePass 模擬考等實際作答紀錄計算而成。與考友分享這道歷屆試題與詳細解析!