Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/357.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
地图上的Java打印值对象<;字符串,对象>;_Java_List_Dictionary_Arraylist_Linkedhashmap - Fatal编程技术网

地图上的Java打印值对象<;字符串,对象>;

地图上的Java打印值对象<;字符串,对象>;,java,list,dictionary,arraylist,linkedhashmap,Java,List,Dictionary,Arraylist,Linkedhashmap,我在另一节课上设置了列表 List<DataModel> dataList = new ArrayList<DataModel>(); 这会打印数据 out data val_a val_b out data 0 {var_a=val_a, var_b=val_b} 模范班 class DataModel { private String var_a, var_b; //Getter & Setter } 但现在,我在另一个类上使用并设置

我在另一节课上设置了列表

List<DataModel> dataList = new ArrayList<DataModel>();
这会打印数据

out data
val_a
val_b
out data
0
{var_a=val_a, var_b=val_b}
模范班

class DataModel {
    private String var_a, var_b;

    //Getter & Setter
}
但现在,我在另一个类上使用并设置map,我并没有实现一个模型类,因为在实际情况中,它有太多的变量

Map<String, Object> mapData = new LinkedHashMap<String, Object>();
我想得到像这样的物体的价值

out data
val_a
val_b

将循环的映射更改为:

for(Map.Entry<String,Object> list : mapData.entrySet()) {
        DataModel value = (DataModel) list.getValue();
        System.out.println("out data");
        System.out.println(value.getVar_a());
        System.out.println(value.getVar_b());
    }
for(Map.Entry列表:mapData.entrySet()){
DataModel值=(DataModel)list.getValue();
System.out.println(“输出数据”);
System.out.println(value.getVar_a());
System.out.println(value.getVar_b());
}

首先,您有一个对象地图,而您真正需要的是一个对象地图

这是你正在阅读的物体地图

for(Map.Entry<String,Object> list : mapData.entrySet()) {
    String key = list.getKey();
    Object val = list.getValue();
    System.out.println("out data");
    System.out.println(key);
    System.out.println(val);
}

您需要显示映射是如何构造的,以及您的
DataModel
类,在
类上解析的部分,为什么要将值放在数组中,但用它们的getter打印它们?
{var_a=val_a,var_b=val_b}
看起来像另一个映射的入口集。为了提供准确的答案,需要提供更多信息。@WJS当然,我编辑了我的问题。谢谢!。此时,我建议您输入print语句来验证数据的外观。我将打印
rsmd.getColumnName(I)
rs.getObject(name)
。因为这些是你放在地图上的东西。打印其他值也可能有益。如果
name=“0”
,我不会感到惊讶,但在这一点上,这是一个猜测。我把这段代码
System.out.println(name+“|”+rs.getObject(name))循环内入口集映射。结果:
col|a | col|a | col|b | col|b…|。。。col|z|col|z
这不是一个答案,而是对OP代码的作用的猜测。没有足够的信息来帮助OP。这就是我在评论中提出问题的原因。否则,每个人都在猜测。我同意,但关键是要激活他的输出。它激活了他的输出。正如我所说,我们可以做很多事情来改进代码,使其简短、清晰等。。但也许他是一个新的开发人员,这可能会让他更困惑。你说的是“投机”,没有speculaiton。在他尝试使用
map
之后。他在最后说,我想得到像这样的对象的值。他想要和以前一样的输出。谢谢你的回答。在实际情况下,我不想使用模型类,因为在实际情况下它有很多变量。谢谢回答。在实际情况下,我不想使用模型类,因为在实际情况下它有很多变量。
out data
val_a
val_b
for(Map.Entry<String,Object> list : mapData.entrySet()) {
        DataModel value = (DataModel) list.getValue();
        System.out.println("out data");
        System.out.println(value.getVar_a());
        System.out.println(value.getVar_b());
    }
for(Map.Entry<String,Object> list : mapData.entrySet()) {
    String key = list.getKey();
    Object val = list.getValue();
    System.out.println("out data");
    System.out.println(key);
    System.out.println(val);
}
Map<String, Map<String, Object>> map = new LinkedHashMap<String, Map<String, Object>>()
for(Map.Entry<String,Map<String, Object> list : mapData.entrySet()) {
    String key = list.getKey();
    System.out.println("out data");
    for(Map.Entry<String,Object> innermap : list.getValue().entrySet()) {
        //System.out.println(innermap.getKey());
        System.out.println(innermap.getValue());
    }
}