地图上的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());
}
}