java - 如何打印存储在数组中的对象的实例

标签 java arrays object tostring instanceof

所以我需要打印出数组的不同实例。使用下面的代码。数组中的所有内容都会打印出来,甚至数组中未填充任何内容的部分也会打印出来。如果我在每个 if 语句中添加一个 break 语句,它只会打印该数组的最后一个实例,而不是存储的所有内容。

public static void display(ExampleA[] example)
{ 
    for(int pos = 0; pos < example.length; pos++) 
    {   
        output += "Example number " + (i + 1);
       if(example[pos] instanceof A)
        {
                output += example[pos].toString() + "\n\n";             
        }

        if(example[pos] instanceof B)
        {
            output += example[pos].toString() + "\n\n"; 
        }

    }

我希望它做的是打印出按实例分组在一起的数组中的所有内容。而不是部分为空的整个数组。

最佳答案

您可以创建两个输出变量,一个用于A实例,一个用于B实例。然后,您可以将每个实例附加到其相应的输出变量,并在最后打印出输出变量。这是使用您的代码的示例:

public static void display(ExampleA[] example)
{ 
    for(int pos = 0; pos < example.length; pos++) 
    {   
        if(example[pos] instanceof A)
        {
            outputA += "Example number " + (i + 1);
            outputA += example[pos].toString() + "\n\n";             
        }

        if(example[pos] instanceof B)
        {
            outputB += "Example number " + (i + 1);
            outputB += example[pos].toString() + "\n\n"; 
        }

    }

    System.out.println("A:\n" + outputA);
    System.out.println("B:\n" + outputB);
}

您还应该考虑使用StringBuilder附加字符串,因为它比使用 +=

快得多

关于java - 如何打印存储在数组中的对象的实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27204308/

相关文章:

javascript - Javascript中基于两个对象数组计算的对象数组

arrays - 如何理解 Ruby 的 .each 和 .map

objective-c - 如何访问对象数组的元素

c# - 传递整个对象或该对象的属性的方法哪个性能更高?

java - 如何在thymeleaf模板中添加html标签?

java - 如何解析 SOAP 响应

java - 通过ErrorListener累积/收集错误以在解析后进行处理

java - 无法为 google 文档运行 google gdata api

javascript - 将输入与数组的值进行比较仅适用于单个值

Java球在乒乓球中弹跳得很奇怪