0

嗨,我在这里使用 talend 和 java。卡在一个情况。

String modCode <br>
for (productsline product: ProdUtil.getProdForProfile(attrs.dhdeProd.profileId))
{
modCode = product.productCode;
System.out.println("products are:" +modCode);
}

这段代码打印了 3 个 didd modcodes。这是预期的。现在我需要在 if 组件中使用这些 modcode。M 无法按照它所说的那样做局部变量 modcode 可能尚未在 if 组件中初始化。我该怎么做??

4

2 回答 2

0

这都是关于 SCOPE 的。

您需要将modCode 声明移到 if 块之外。

在此处阅读有关块和语句的 JLS#14 规范

于 2013-08-02T19:19:18.860 回答
0

我假设要包含它的 if 块发生在 for 循环中或之后。如果有关初始化的警告在您的 IDE 中,您可能需要显式设置

String modCode = null;

或者

String modCode = "";

如果迭代器没有条目,您的 for 循环可能不会执行。这就是您收到警告的原因。

于 2013-08-02T19:27:52.627 回答