java - 数组 toString 以及也具有 toString 方法的对象

标签 java arrays output

我在打印特殊数组时遇到问题:

我使用 System.out.println(Arrays.toString()); 打印多个对象的数组但现在数组中充满了对象,这些对象具有 char 值,我想打印分配给该对象的每个字符。 我怎样才能在代码中做到这一点?

为了澄清,让数组像这样具体:

Class[] objList = {new Class(1, 'X'), new Class(4, 'Y')};

我想调用objList[0].toString()的地方然后是 objList[1].toString()方法,得到如下输出:

[X, Y]

我希望这个问题足够清楚,如果有人能帮助我,我会很高兴,谢谢!

注意:前面提到的具有 toString() 方法的 Class 刚刚在 Class 中实现,写为 System.out.print(destination); 我在这里尝试了解释:Use toString on array of objects ,但显然它不起作用。

public String toString() {
  System.out.print(Arrays.toString(objList.toString()));
  return null;
}

最佳答案

一个toString()方法本身不应该打印任何内容;相反,它应该返回一个表示对象的字符串。如果你的类(class)人物是通过getChar()获取的方法,你可以实现它的 toString()方法如下:

public String toString() {
    return String.valueOf(getChar());
}

这会将字符转换为 String并返回。

如果你这样做,代码

Class[] objList = new Class[] { new Class(1,'X'), new Class(2,'Y') };
System.out.println(Arrays.toString(objList));

应该输出[X, Y] .

(我建议将您的类 Class 重命名为其他名称,因为它与 Java 的 Class<T> 类冲突。)

关于java - 数组 toString 以及也具有 toString 方法的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41270153/

相关文章:

arrays - firebase 子值作为数组中的字符串来填充选择器 swift 3

javascript - Tablesorter 动态设置输出小部件选项

c# - 禁用 Topshelf 控制台输出

java - 两个问题,将 charAt 用于未定义的输入和循环输出

java - 在 onPostExecute 中的 notify() 之前没有被线程锁定的对象

Java - 带计时器的用户输入线程

Java数组反射: isArray vs. instanceof

c - 返回数组中的值并打印它

java - CountdownTimer 未在 Runnable 中运行

java - JPA exception::join 预期的路径