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

Java HashMap 遍歷輸出自定義對象需重寫 toString() 方法

     編輯:程式設計綜合問答

問題代碼


HashMap map = ...;
for (String key : map.keySet()) {
    Student value = map.get(key); // 直接獲取對象
    System.out.println(key + value); // 輸出 Student@hashcode
}

解決方法

在 Student 類中重寫 toString():


public class Student {
    private String name, sex;
    // getter/setter/構造器省略
    @Override
    public String toString() {
        return name + "," + sex; // 或 JSON 格式
    }
}

原理

  • System.out.println(obj) 內部調用 String.valueOf(obj) → obj.toString()。
  • 默認 Object.toString() 返回 類名@哈希碼,無業務含義。
  • 重寫後直接輸出業務字段,調試/日誌更直觀。

用戶頭像

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