正如评论中提到的,很高兴看到实际的代码,但我相信我明白这里发生了什么。首先,为了清楚起见,让我建立一些名称。让类 A 是拥有字符串数组的类(并具有显示功能)。让 B 类是对字符串数组进行处理的类。
当您将 String 数组传递给 B 类进行处理时,您只需要确保以下两件事之一:
1)如果您从该函数返回一个字符串数组,请确保使用它来设置类 A 中的字符串数组的值,无论 A 类使用什么函数调用 B 类处理函数。
// from class A
private String[] stringsToHealAllAils;
...
public void aFunctionThatNeedsProcessingWithDiscriminatingTaste()
{
// instance of class B is called b
stringsToHealAllAils = b.processThingy( stringsToHealAllAils );
}
在这种情况下,B 类中的处理函数将需要基于 A 的 String 数组返回一个全新的 String 数组。而 A 类的函数需要将 String 数组的值替换为处理函数的返回值。
或者
2) 如果您在 B 类拥有的处理函数中从 A 类修改 String 数组(请参见下面的示例代码)
public void processThingy( String[] thatLegendaryArray )
{
// some amazing processing here
thatLegendaryArray[superSpecialIndex] = someOtherVerySpecialString;
}
也就是说,您可能正在 B 类的处理函数中填充数组。这也可以,但正如示例代码所示,您不需要在类 A 中设置 String 数组的值(如示例 1)。
我的意思是,如果显示函数得到一堆空值,我认为您无法正确处理您的字符串数组。如果这没有帮助,那么一定要发布一些更明确地显示你在做什么的代码。我相信解决方案就在眼前。