【问题标题】:Local variable not updated in loop局部变量未在循环中更新
【发布时间】:2013-06-22 12:51:44
【问题描述】:

我创建了一个对象数组,然后在循环中初始化了该数组。 但是当我用对象数组调用一个方法时,它告诉我,变量还没有被初始化。我做错了什么,我该如何做对?

Objects[] = object;
for (int i = 0; i < someMap.size(); i++) {
    object = new Object[someMap.size()];      
    for (Entry e : someMap.entrySet) {
        object[i] = new Object(var1, var2, var3);
    }   
}
somemethod(somevar, object); //Eclipse tells me: The local variable object may not have been initialized

【问题讨论】:

  • 您发布的代码对于找出您的问题毫无用处。您肯定会向我们展示编译器抱怨的变量,对吧?
  • 由于第一行和第三行,它甚至无法编译。您使用对象和对象类。根据构造函数,Object 可能会覆盖 java.lang.Object。

标签: java arrays for-loop initialization


【解决方案1】:

只需进行以下更改:

Objects[] object = null;

这是因为,你在 for 循环中初始化你的数组,但编译器在编译时并不知道,所以它会生成编译时错误 The local variable may not have been initialized

另外,您可能在将somevar 变量传递给somemethod 之前没有对其进行初始化

【讨论】:

    猜你喜欢
    • 2021-12-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多