【发布时间】: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(...))不使用任何地图。我建议修复问题的标题、正文和标签。顺便说一句,“项目”对于一个具体代表一个项目的实例来说是一个相当糟糕的名称。将其命名为“项目”。