正如在评论中提到的那样,看到实际的代码会很高兴,但我相信我理解这里发生的事情。首先,为了清晰起见,让我列出一些名称。让类A是拥有String数组的类(并且具有揭示函数)。让B类成为对String数组进行处理的类。
当你把这个字符串数组off到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和A类的函数的字符串数组一个全新的String数组将需要更换的字符串数组的值处理函数的返回值。
或
2)如果要修改从类A由B类所拥有的处理功能中的字符串阵列(见下面的示例代码)
public void processThingy(String[] thatLegendaryArray)
{
// some amazing processing here
thatLegendaryArray[superSpecialIndex] = someOtherVerySpecialString;
}
也就是说,你是可能在B类的处理函数中填充数组。这也可以,但是如示例代码所示,您不需要在类A中设置字符串数组的值(ala示例1)。
我在说的是,我认为如果揭示函数得到一堆null,你没有正确处理你的String数组。如果这没有帮助,那么一定要发布一些代码,更明确地显示你在做什么。我相信解决方案就在眼前。
对于演示您的问题的可运行示例?对不起,这是周末,我的大脑已经关闭了,所以试图阅读你的解释只会伤害:( – MadProgrammer 2013-02-16 02:20:20
我很难想象这在我的脑海里,其实我撒谎了,我不想进行这样的精神集中锻炼空间意识和抽象思维,你可以写一些你试过的代码吗? – KJW 2013-02-16 02:23:51
非常混乱,请澄清你的问题。 – 2013-02-16 02:39:51