我在 Eclipse 中反复遇到错误。我认为这个错误不应该存在。给定以下嵌套循环:
String conditionlogic;
if(matcher.find())
{
do
conditionogic += matcher.group();
while(matcher.find());
}
else
conditionogic = null;
错误是
The local variable conditionlogic may not have been initialized.
据我了解,由于 do-while 至少会在条件逻辑实际使用 matcher.group() 的一个或多个值或 null 进行初始化时执行。 我该如何解决这个问题?
最佳答案
这行是什么意思:
conditionogic += matcher.group();
这与:
相同conditionogic = conditionogic + matcher.group();
即这意味着:获取 conditionogic
的值并将其连接到 matcher.group()
。但是当您第一次进入循环时,conditionogic
的值确实是未知的。您必须为此变量分配一些内容,例如空字符串:
String conditionlogic = "";
关于java - if-else 中嵌套 do-while 循环 : variable not initialized,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24907280/