所以我需要打印出不同的数组实例。使用下面的代码。数组中的所有内容都会打印出数组中未填充任何内容的部分。如果我在每个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";
}
}
我希望它能打印出由实例组合在一起的数组中的所有内容。而不是部分为空的整个数组。
答案 0 :(得分:1)
您可以创建两个output
个变量,一个用于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附加字符串,因为它比使用+=
快得多