所以我需要打印出数组的不同实例。使用下面的代码。数组中的所有内容都会打印出来,甚至数组中未填充任何内容的部分也会打印出来。如果我在每个 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/