gpt4 book ai didi

java - println() 对象帮助语句。我的教授想要这个输出吗?

转载 作者:行者123 更新时间:2023-12-02 07:33:24 26 4
gpt4 key购买 nike

我的教授让我们修改她实验室的代码。特别是对于这个实验室,我的教授有一个 println() 语句,我不应该碰它:

ArrayCollection ac = new ArrayCollection(ARRAY_SIZE);

所以上面的代码实例化了一个名为ac的对象。这一切都很好,但我的教授在她的代码中也有这样的声明,我无法修改:

System.out.println ("Collection contains:  " + ac);

因此,由于上面的行,我得到以下无用的输出:

Collection contains: ArrayCollection{data=[Ljava.lang.Object;@24a20892, actualSize=3}

上面的输出可以告诉我关于对象 ac 的什么信息?输出是完全无用的还是你认为这就是我的教授的意图?抱歉,我知道这是一个奇怪的问题,我很感激任何人对我的老师为什么留下这样的代码发表评论(她会因为非常小的错误而扣分>.<)。

编辑上午 9:48:

ArrayCollection ac 包含:{5,10,20},用于我上面发布的输出

最佳答案

查看 JDK 中 AbstractCollection 类的 toString() 方法。

public String toString() {
Iterator<E> it = iterator();
if (! it.hasNext())
return "[]";

StringBuilder sb = new StringBuilder();
sb.append('[');
for (;;) {
E e = it.next();
sb.append(e == this ? "(this Collection)" : e);
if (! it.hasNext())
return sb.append(']').toString();
sb.append(',').append(' ');
}
}

它实现了您可能期望看到的内容。

如果您不想“复制”逻辑,可以从 AbstractCollection 继承 ArrayCollection 或直接使用 ArrayList

关于java - println() 对象帮助语句。我的教授想要这个输出吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12622879/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com