Bogus(?)Eclipse“本地变量未使用”警告

时间:2012-08-07 07:41:40

标签: java eclipse ide warnings

这是我的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'循环之外声明,但是在中使用。 Eclispe向我显示了这个警告:“局部变量Text的值”在变量'Text'的声明行中。

怎么会这样?它在'for'循环中使用。

5 个答案:

答案 0 :(得分:6)

您正在设置变量值,但其值不会在您的代码中使用。警告是无害的,并且当您使用变量值时很可能会消失。

答案 1 :(得分:3)

Eclipse很可能会抱怨,因为你在没有对它做任何事情的情况下将东西扔进你的Text变量。例如,执行诸如System.Console.WriteLine(Text);之类的事情(假设Text是一个字符串)应该删除警告。

答案 2 :(得分:2)

您要为变量Text分配一个空字符串,然后肯定读取它(至少在显示的代码段中)。当Count == 0或甚至Count < 1时,循环体不会被执行,因此不使用Text。我猜你以后会对Text做些什么呢?

答案 3 :(得分:1)

您正在写变量Text,但您没有从中读取它 - 实际上意味着您正在进行您不需要的计算。

一旦您返回文本或将其显示到控制台等,它将删除警告。

答案 4 :(得分:0)

  • 连接时使用StringBuilder()
  • 有趣的反转惯例,但危险(与班级名称相撞),忘记了这种习惯用于专业或实际工作。
  • Eclipse对你很友好:在让你的Test变得更大之后你忘记了吗?真的,你什么都不做,你什么都不做。 'null'的时间消耗。
  • 您可以public static Test删除警告,并从所有其他程序中读取。