java - if-else 中嵌套 do-while 循环 : variable not initialized

标签 java loops initialization syntax-error nested-loops

我在 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/

相关文章:

尽管尝试了一切,但仍无法在 C 中初始化我的数组计数器

java - 什么是初始化 block ?

Java如何根据值将 TreeMap 分成两个相等的图

java - FirebaseUI RecycleView 搜索不工作

java - 来自 Java 的 SVN 分支信息

java - 获取 JSON 弹出窗口以保存或打开对话框而不是实际内容?

Javascript 规模检查功能性能

python - 使用进度条进行输出

loops - 我如何在 .forEach 迭代中暂停

perl - 为什么这个 Perl 变量保持它的值