如何为自定义类创建println / print方法

Proxy404:

我正在使用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; }
}

(请注意,这已大大简化,我在最终版本中使用了正确的set / get方法。)

我的问题是这样的:

当使用ArrayList作为参数调用println方法时,例如:

ArrayList<String> arr = new ArrayList<String>();
arr.add("one");
arr.add("two");
System.out.println(arr);

Java自动知道如何正确打印ArrayList的每个“节点”或元素。

有没有一种方法可以允许println方法正确打印我的Pair类?

凯西

您将需要重写该toString方法,并返回所需的字符串表示形式。

因此,例如:

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);
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何为表单创建自定义的“as_table()”方法?

如何创建可用于AngularJS中的方法的自定义对象类

如何使用jQuery扩展方法为元素或类选择器创建自定义插件

如何为我的自定义mutable.HashMap编写自定义方法++ =

在Django类基本视图中创建自定义方法

如何为自定义聚合物元素创建方法并在主应用程序中调用它?

如何为现有的 m2m 字段创建自定义保存方法。(姜戈)

如何使用自定义内容扩展超类的方法

如何在Python类中添加自定义方法?

如何从CalculationResultView类调用自定义方法

如何为自定义光标创建单独的类

Vue:如何创建自定义HTTP方法

如何创建VsCode自定义get方法片段

如何创建自定义Java注释以记录方法参数

Rails Faker如何创建自定义方法

如何创建注入方法的自定义实现?

如何获得抛出已创建的自定义异常的方法?

自定义类的自定义 `smooth()` 方法

自定义类方法的方法引用

如何模拟从自定义类的自定义方法中调用的boto3方法?

类方法的自定义代码完成?

如何为 Core api 控制器测试自动 ModelState 的自定义属性方法验证?

如何为自定义列表视图菜单添加 onTap 方法

创建系统类型的自定义方法

创建自定义大写方法

创建自定义Segue的正确方法

创建自定义查找的最佳方法

从自定义类调用方法而不创建新实例,带有Int参数的IntegerLiterallConvertible错误

在laravel中设置自定义验证消息的智能方法而无需创建请求类