コメントで述べたように、実際のコードを見るのは素晴らしいことですが、ここで何が起こっているのか理解していると思います. まず、わかりやすくするために、いくつかの名前を設定しましょう。クラス A を、String 配列を所有する (そして Reveal 関数を持つ) クラスとします。クラス B を String 配列の処理を行うクラスとします。
String 配列を処理のためにクラス B に渡す場合、次の 2 つのいずれかを確認する必要があります。
1) その関数から文字列配列を返す場合は、クラス A がクラス B 処理関数を呼び出すために使用する関数から、クラス A 内の文字列配列の値を設定するために必ずそれを使用してください。
// from class A
private String[] stringsToHealAllAils;
...
public void aFunctionThatNeedsProcessingWithDiscriminatingTaste()
{
// instance of class B is called b
stringsToHealAllAils = b.processThingy( stringsToHealAllAils );
}
この場合、クラス B の処理関数は、A からの文字列配列に基づいて、まったく新しい文字列配列を返す必要があります。また、クラス A の関数は、文字列配列の値を処理関数の戻り値に置き換える必要があります。
また
2) クラス B が所有する処理関数内でクラス A の String 配列を変更する場合 (以下のサンプル コードを参照)
public void processThingy( String[] thatLegendaryArray )
{
// some amazing processing here
thatLegendaryArray[superSpecialIndex] = someOtherVerySpecialString;
}
つまり、おそらくクラス B の処理関数内で配列にデータを入力しているということです。これも問題ありませんが、サンプル コードが示すように、クラス A 内から String 配列の値を設定する必要はありません (ala example 1)。
私が言っているのは、明らかに関数が null の山を取得している場合、文字列配列を適切に処理できていないと思います。これで解決しない場合は、何をしているかをより明確に示すコードを必ず投稿してください。私は解決策が手元にあると確信しています。