首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

Java 陣列去重:為何仍會取到重複值?

     編輯:程式設計綜合問答

問題現象

在 Java 程式中嘗試從陣列取值並去重,但執行結果仍出現重複元素。程式碼片段如圖所示。

根本原因

程式碼中使用 do-while 迴圈搭配條件判斷時,誤將比較運算子 == 寫成了指派運算子 =。導致條件永遠為真,迴圈無法正常終止,進而重複讀取相同元素。

錯誤程式碼

while (ss = false)  // 錯誤:這是指派,非比較

正確寫法

while (ss == false) // 正確:比較運算子

補充建議

  • 使用 HashSet 或 LinkedHashSet 可更簡潔地實現去重。
  • 開啟 IDE 的靜態分析警告,可在編譯期捕捉此類低級錯誤。

記住:= 是指派,== 才是判斷相等,這是 Java 基礎語法中最常見的陷阱之一。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved