【发布时间】:2018-03-15 12:14:50
【问题描述】:
我要打印这个属性的内容:
private HashMap<RegionVersObj, ArrayList<String[]>> region;
我已经用下面的代码做到了。
在 toString() 方法中,我正在使用 Map Entry 进行迭代。
我创建了一个StringBuffer 对象并在其中附加了内容。
public String toString() {
StringBuffer regionToPrint = new StringBuffer();
for (Map.Entry<RegionVersObj, ArrayList<String[]>> entry : region.entrySet())
{
regionToPrint.append(entry.getKey().toString());
regionToPrint.append("=[");
for(String[] s:entry.getValue()){
regionToPrint.append("[");
for(String s1:s){
regionToPrint.append(s1);
regionToPrint.append(",");
}
regionToPrint.append("],");
}
}
return "region=" + regionToPrint.toString();
}
这是我试图解决这个问题的方式。但是我想知道有没有更好的方法可以解决这个问题?
【问题讨论】:
-
如果您使用的是
java8,请尝试阅读streams。 -
你可以使用 java.util.Arrays.toString(strArr)