正如在評論中提到的那樣,看到實際的代碼會很高興,但我相信我理解這裏發生的事情。首先,爲了清晰起見,讓我列出一些名稱。讓類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