这是我的代码。
public List compareMaps(Map dataMap1, Map dataMap2) {
List errData = new ArrayList();
for (Entry<String, String> data1 : dataMap1.entrySet()) {
if (dataMap2.containsKey(data1.getKey())) {
if (!dataMap2.get(data1.getKey()).equalsIgnoreCase(data1.getValue())) {
errData.add(
new String[] { data1.getKey(), data1.getValue(), dataMap2.get(data1.getKey()).toString() });
}
} else
errData.add(
new String[] { data1.getKey(), data1.getValue(), "No corresponding data found in paperclip" });
}
return errData;
}
可能是什么问题?
输出。
set[[Ljava.lang.String;@3578436e, [Ljava.lang.String;@706a04ae, [
for(String[] arr:errData){
System.out.println(Arrays.toString(arr));
}
如果(dataMap2...) Arrays::toString
从结果中打印一个数组。
List<String[]> result = compareMaps(Map.of(...), Map.of(...));
for (String[] data : result) {
System.out.println(Arrays.toString(data));
}
另外,请确保使用参数化类型而不是原始类型,如下所示。
public List<String[]> compareMaps(Map<String, String> dataMap1, Map<String, String> dataMap2) {
List<String[]> errData = new ArrayList<String[]>();
for (Entry<String, String> data1 : dataMap1.entrySet()) {
if (dataMap2.containsKey(data1.getKey())) {
if (!dataMap2.get(data1.getKey()).equalsIgnoreCase(data1.getValue())) {
errData.add(
new String[] { data1.getKey(), data1.getValue(), dataMap2.get(data1.getKey()).toString() });
}
} else {
errData.add(
new String[] { data1.getKey(), data1.getValue(), "No corresponding data found in paperclip" });
}
}
return errData;
}