我正在使用 Java 开发一个项目,如果您愿意的话,该项目需要我制作一些“容器”类。这是其中一个的简单版本:
public class Pair{
Object KEY;
Object VALUE;
public Pair(Object k, Object v)
{
KEY = k;
VALUE = v;
}
public Object getKey()
{ return KEY; }
public Object getValue()
{ return VALUE; }
}
(请注意,这已被严重简化,我在最终版本中使用了正确的设置/获取方法。)
我的问题是这样的:
当以ArrayList为参数调用println方法时,例如:
ArrayList<String> arr = new ArrayList<String>();
arr.add("one");
arr.add("two");
System.out.println(arr);
Java 自动知道如何正确打印 ArrayList 的每个“节点”或元素。
有没有办法编写一个方法来允许 println 方法正确打印我的 Pair 类?
您将需要覆盖toString http://download.oracle.com/javase/6/docs/api/java/lang/Object.html#toString%28%29方法并返回您想要的字符串表示形式。
例如:
public class Pair {
Object key;
Object value;
public Pair(Object k, Object v)
{
key = k;
value = v;
}
public Object getKey() {
return key;
}
public Object getValue() {
return value;
}
public String toString() {
return "Key: " + getKey() + ", Value: " + getValue();
}
}
您可以执行以下操作:
List<Pair> pairs = new ArrayList<Pair>();
pairs.Add(new Pair("pair1key", "pair1value"));
pairs.Add(new Pair("pair2key", "pair2value"));
for (Pair p : pairs) {
System.out.println(p);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)