Q43.
下列何者可比較兩個Java 程式物件的內容是否一樣?
電腦軟體設計(JAVA) · 乙級 · Java · Q43
難易度分析
2 / 5
本題考查 Java 基礎語法中關於物件比對機制的定義。由於選項涵蓋了指派運算子、參考比較與內容比較等區分明顯的概念,只要掌握基本物件導向定義即可作答,不具備複雜的推論過程。
正確答案:③定義equals method 比較內容
③ 定義equals method 比較內容:equals() 方法用於比較兩個物件的邏輯內容。在 Java 中,若要比較物件內容是否相同,必須覆寫 Object.equals() 方法並定義適當的比較邏輯。
錯誤選項解析
- ① =:= 是指派運算子,用於將值賦給變數,無法用於比較操作。
- ② ==:== 運算子比較的是兩個物件的記憶體位址(參考),而非物件內容。當兩個不同物件具有相同內容時,== 仍會回傳 false。
- ④ 定義equals method 比較變數名稱是否相同:equals method 的設計目的是比較物件的內容值,而非比較變數名稱。變數名稱僅是程式碼中的識別字,與物件內容無關。
Learning Tip
"此題考點為 Java 物件比較機制。常見陷阱是混淆 ==(參考比較)與 equals()(內容比較)。實務上,自訂類別若要進行內容比較,必須同時覆寫 equals() 與 hashCode(),以維持兩者契約一致性,否則在使用 HashMap、HashSet 等集合類別時會產生不可預期的行為。"
學員答題分佈
①=0%
②==0%
③定義equals method 比較內容0%
④定義equals method 比較變數名稱是否相同0%
此答題分佈是根據學員在 LongePass 模擬考等實際作答紀錄計算而成。與考友分享這道歷屆試題與詳細解析!