这是我的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'循环中使用。
答案 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()
Test
变得更大之后你忘记了吗?真的,你什么都不做,你什么都不做。 'null'的时间消耗。public static Test
删除警告,并从所有其他程序中读取。