Stu*_*899 -1 java variables initialization
protected int getGewichtung(String company)
{
int index;
for (HashMap<String,String> i : top3Compland)
{
String test = String.join(_name, i.keySet());
System.out.println(test);
if (test == company)
{
index = top3Compland.indexOf(i);
}
else
{
index = -5;
}
}
return index;
}
Run Code Online (Sandbox Code Playgroud)
我已经用 print 语句检查了它是否完全进入了 for 循环。但是所有的键都被打印出来,所以它确实输入了它,并且也确实发生了到字符串的转换,因为我首先只将有效的字符串放入函数中,所以它也必须肯定输入 if 语句,但即使它不输入然后它会输入 else 语句并用一个数字初始化它,这样它就不会抱怨变量“index”可能没有被初始化。我在监视什么??感谢您的帮助!
更新版本:我改进了一些缺陷,但出现了同样的错误。但我无法理解索引未初始化的情况......
protected int getGewichtung(String company)
{
int index;
if (top3Compland.size() > 0 && top3Compland != null)
{
for (HashMap<String,String> i : top3Compland)
{
String test = String.join(_name, i.keySet());
System.out.println(test);
if (test.equals(company))
{
index = top3Compland.indexOf(i);
}
}
}
else
{
index = -5; //company not found
}
return index;
}
Run Code Online (Sandbox Code Playgroud)