【问题标题】:How to get Map value如何获取地图值
【发布时间】:2013-04-22 18:31:46
【问题描述】:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class clsWarehouse {

public static void main(String[] args){

    class Items {
        private String iItemID;
        private String strItemName;
        private String strItemDescription;
        private String iItemPrice;
        private String strSize;
        private String strSex;


    public Items (String id, String name, String description, String price, String size, String sex){
        iItemID = id;
        strItemName = name;
        strItemDescription = description;
        iItemPrice = price;
        strSize = size;
        strSex = sex;
        }
    }   


Map<Integer, Items> ItemMap = new HashMap<Integer, Items>();
ItemMap.put(1, new Items("3", "test1", "test2", "30", "20", "Male")); 

for (Map.Entry<Integer, Items> entry : ItemMap.entrySet()) {
System.out.println("Key = " + entry.getKey() + ", Value = " + entry.getValue());

        Items test = entry.getValue();
        String test2 = test.toString();
        System.out.println(test2);
    }  
}
}

你好,

我想获取存储在地图中的值,但我只获取内存位置,Key = 1,Value = clsWarehouse$1Items@c3c749。有人可以帮我解决这个问题吗?

谢谢!

【问题讨论】:

  • 实现toString() 方法。请使用大写字母开始你的类名和小写字母作为变量名。
  • 请注意,此问题与地图无关。你在做例如时会遇到完全相同的问题。 System.out.println(new Items(...)) 不使用任何地图。我建议修复问题的标题、正文和标签。顺便说一句,“项目”对于一个具体代表一个项目的实例来说是一个相当糟糕的名称。将其命名为“项目”。

标签: java map hashmap


【解决方案1】:

覆盖Items 类中的toString() 方法,以便在调用它时控制输出。 Object 中的默认实现会产生您正在观察的行为(来自链接的 Javadocs)

getClass().getName() + '@' + Integer.toHexString(hashCode())

hashCode() 方法,默认为uses the memory address

【讨论】:

    【解决方案2】:

    Items 类中添加您需要的吸气剂

    Ex(用于 ItemID):

    public String getItemID()
    {
        return iItemID;
    }
    

    在你的for loop

    Items test = entry.getValue();
    System.out.println(test.getItemID());
    

    【讨论】:

      猜你喜欢
      • 2023-03-23
      • 2012-05-28
      • 1970-01-01
      • 1970-01-01
      • 2019-05-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多