gpt4 book ai didi

java - 什么是 "Type mismatch"以及如何修复它?

转载 作者:行者123 更新时间:2023-12-01 12:10:11 25 4
gpt4 key购买 nike

如何修复这个错误?

Type mismatch: cannot convert from element type Object to Block

我在这一行看到它:

for (Block b : blocksToSkip){

这是完整的代码。

@EventHandler(priority=EventPriority.NORMAL, ignoreCancelled=true)
public void onEntityExplode(EntityExplodeEvent ev){
ArrayList blocksToSkip = new ArrayList();
Location rootLoc = ev.getLocation();
if (!SkyMagic.IsInIslandWorld(rootLoc)) return;
for (Block b : ev.blockList()){
Location loc = b.getLocation();
IslandData data = SkyMagic.GetIslandAt(loc);
if ((data != null) && (data.owner != null)){
blocksToSkip.add(b);
}
}
for (Block b : blocksToSkip){
ev.blockList().remove(b);
}
}

最佳答案

这是原始类型:

ArrayList blocksToSkip

Java 期望一切,而不仅仅是 Block 类型。因此,您需要类型转换

ArrayList blocksToSkip = new ArrayList();

// Rest of your code

for (Object b : blocksToSkip){
ev.blockList().remove( (Block)b );
}

请注意,不鼓励使用原始类型。您应该参数化

ArrayList<Block> blocksToSkip = new ArrayList<Block>();

关于java - 什么是 "Type mismatch"以及如何修复它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27325278/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com