-4

これは私の Java コードの一部です。IDE は Eclipse です。「Lines」は文字列の配列です。

//build anchor inner text
int Count = Lines.length;
String Text = ""; //<----------Eclipse shows warning here
for (int Index=0; Index<Count; Index++) {
  Text += Lines[Index];
  if (Index<Count-1)
    Text += "<br/>";
}

「Text」変数は「for」ループの外で宣言されていますが、内部で使用されています。Eclipse は、変数 'Text' の宣言行で、「ローカル変数 Text の値は使用されていません」という警告を表示します。

どうしてそうなるの?「for」ループ内で使用されます。

4

5 に答える 5

6

変数の値を設定していますが、その値はコードで使用されていません。警告は無害であり、変数の値を使用するとほとんどの場合消えます。

于 2012-08-07T07:44:13.810 に答える
4

Text何もせずに変数に何かを投げているため、Eclipseはおそらく不平を言っています。たとえば、System.Console.WriteLine(Text);(文字列であると仮定してText)次のようなことを行うと、警告が削除されます。

于 2012-08-07T07:45:04.110 に答える
2

variable に空の文字列を割り当てていますがText、それを確実に読み取っていません(少なくとも表示されているスニペットでは)。when Count == 0、または whenCount < 1でさえ、ループ本体は実行されないため、Text使用されません。でも、後で何かをすることになると思いますTextか?

于 2012-08-07T07:55:45.293 に答える
2

変数に書き込んでいますが、変数Textから読み取っていません。つまり、必要のない計算を行っているということです。

テキストを返すか、コンソールなどに表示すると、警告が削除されます。

于 2012-08-07T07:45:39.623 に答える
0
  • 使用を連結するときStringBuilder()
  • 慣習を逆にするのは面白いですが、危険 (クラス名との衝突) は、プロの使用または実際の作業でこの習慣を忘れていました。
  • Eclipse はあなたに親切です。あなたをTest大きくした後、あなたはそれを忘れましたか? 本当に、あなたはそれで何もしません、あなたは何のために働いた. 「null」の消費時間。
  • public static Test警告を削除して、他のすべてのプログラムから読み取ることができます。
于 2012-08-07T08:31:13.533 に答える