为什么不能将 for-each 中的 Item item 解析为变量?
Why can't Item item in the for-each be resolved as a variable?
我正在使用 tutorial 来学习 Minecraft。在使用 java.util.ArrayList ITEMS
创建 for-each 循环后,我必须创建一个 if 语句 if (item instanceof IHasModel)
。 Eclipse 声明无法将 if 语句中的项引用解析为变量。
我正在使用 Windows 10、JDK 8u192 和 Forge 14.23.5.2768。我试过在 for-each 循环中更改 net.minecraft.item.Item
的名称,然后在 if 语句中使用更改后的名称。
@SubscribeEvent
public static void onModelRegister(ModelRegistryEvent event)
{
for(Item item : ModItems.ITEMS);
{
if (item instanceof IHasModel)
{
((IHasModel)item).registerModels();
}
}
}
我原以为没有错误,但 Eclipse 说 item
不能作为变量解析,在循环的任何地方。
看看你的 for
循环。
for(Item item : ModItems.ITEMS);
{
if (item instanceof IHasModel)
{
((IHasModel)item).registerModels();
}
}
您在 for 循环的第一行后面有一个分号 (;
),这导致它成为 no operation
(浪费 cpu 时间)
为了更好地理解,"long" 在这里澄清一下:
for(Item item : ModItems.ITEMS)
{
//nop;
}
// We are out of the for-loop scope. There is no "item" here...
{
if (item instanceof IHasModel)
{
((IHasModel)item).registerModels();
}
}
要让您的代码正常工作:
从 for(Item item : ModItems.ITEMS);
中删除 ;
我正在使用 tutorial 来学习 Minecraft。在使用 java.util.ArrayList ITEMS
创建 for-each 循环后,我必须创建一个 if 语句 if (item instanceof IHasModel)
。 Eclipse 声明无法将 if 语句中的项引用解析为变量。
我正在使用 Windows 10、JDK 8u192 和 Forge 14.23.5.2768。我试过在 for-each 循环中更改 net.minecraft.item.Item
的名称,然后在 if 语句中使用更改后的名称。
@SubscribeEvent
public static void onModelRegister(ModelRegistryEvent event)
{
for(Item item : ModItems.ITEMS);
{
if (item instanceof IHasModel)
{
((IHasModel)item).registerModels();
}
}
}
我原以为没有错误,但 Eclipse 说 item
不能作为变量解析,在循环的任何地方。
看看你的 for
循环。
for(Item item : ModItems.ITEMS);
{
if (item instanceof IHasModel)
{
((IHasModel)item).registerModels();
}
}
您在 for 循环的第一行后面有一个分号 (;
),这导致它成为 no operation
(浪费 cpu 时间)
为了更好地理解,"long" 在这里澄清一下:
for(Item item : ModItems.ITEMS)
{
//nop;
}
// We are out of the for-loop scope. There is no "item" here...
{
if (item instanceof IHasModel)
{
((IHasModel)item).registerModels();
}
}
要让您的代码正常工作:
从 for(Item item : ModItems.ITEMS);
;