我有一个对象列表,对象内部有一个映射数组。我必须访问每个对象中存在的地图值。
这是对象:
public class DiscoveredProduct
{
private String approvedOn;
private String rolledBackOn;
private Map<String, Object> raw_attributes[];
private Map<String, Object> product_attributes[];
private Map<String, Object> norm_attributes[];
}
请帮忙!
答案 0 :(得分:0)
鉴于该代码,您无法访问这些Map中的值(数组,顺便说一句!)。
你能做什么:
例如:
public Object getRawAttributeFor(int index, String key)
只是
return raw_attributes[index].get(key)
(当然,您需要正确检查这些输入参数)
更方便的界面可能看起来像
public List<Object> getRawAttributesFor(String key)
这一次,您只需迭代您的地图数组,并返回地图知道该关键字的所有值。
最后:阅读有关java命名约定的内容。你只在SOME_CONSTANT中使用_ char;但没有其他地方。
答案 1 :(得分:0)
// we iterate over all arrays of Map
for (Map<String,Object> map : raw_attributes){
// we iterate over all values of the current map
for (Entry<String,Object> entry : map.entrySet()){
String key = entry.getKey();
Object value = entry.getValue();
}
}