だから私の質問はwhileループ内に同じ名前の敵変数
がなぜ次のコードは、変数名文句ないです...「wordView」が複数回初期化されている。..
int index = 0;
TextView wordView = new TextView(this);
wordView.setText(words.get(index));
rootview.addView(wordView);
index++;
TextView wordView = new TextView(this);
wordView.setText(words.get(index));
rootview.addView(wordView);
index++;
TextView wordView = new TextView(this);
wordView.setText(words.get(index));
rootview.addView(wordView);
が、このコードはありませんか?
int index = 0;
while(index<words.size()){
TextView wordView = new TextView(this);
wordView.setText(words.get(index));
rootview.addView(wordView);
index++;
}
これは正しいことですか?
「変数スコープ」を参照してください。 2番目のケースでは、ループの各繰り返しの最後にwordViewが有効範囲外になります。ループが進むと、同じ名前の新しい変数がスコープに戻ってきます。前の例では、wordViewを再び初期化しようとする前に、スコープから外れることはありません。 – Jameson