private List<String> add() {
List<String> strlist = new ArrayList<String>();
return strList;
}
public void methodOne() {
List<String> strList = this.add();
}
public void methodtwo() {
// need to use the list in methodOne.
}
私はList
を返す1つのプライベートメソッドを持っています。私はadd()
メソッドをmethodOne()
とそれに格納されたList値で呼び出すことによってそのメソッドを実行しました。今度はadd()
メソッドまたはmethodOne()
を実行せずにmethodTwo()
メソッドでそのリストを使用する必要があります。 方法はRobotFrame作業中のキーワードは何もある方法から別の方法へのリストの使用
ません、それはライドにList
変数を作成し、Method One()
からリストを保存し、Method Two()
でそれを使用することは可能ですか?
あなたは 'add'、この文句を言わない作業を使用can't場合、これらは、すべてローカルに定義されたlist'sているを持っています。 'methodOne'の' List'もローカルで定義されていますので、 'List'を返さない場合や、 'methodOne'とは異なるスコープの変数に格納していない場合、このリストはガベージコレクションされます。あなたはそれを決して参照することはできません。 –
SomeJavaGuy
これは、Javaに慣れていた人の観点から尋ねると奇妙なことです。なぜあなたは 'methodOne'のように' methodtwo'で同じリストを使いたいのか説明できますか?解決策は、複数の関数が同じオブジェクトに対して変更を加えて機能するようにするには、ローカル変数の代わりにクラスメンバを使用することです。しかし、 'add'メソッドで行う初期化はおそらく意味をなさないでしょう。 – Aaron