我正在为MineCraft创建一个插件,该插件需要一个UUID
列表,并且我想以此方式完成
public class Freeze extends JavaPlugin implements CommandExecutor {
public static List<UUID> toggleList = new ArrayList<UUID>();
}
但是,当我在另一个类中使用列表时,它会显示cannot resolve symbol
。
这是使用列表而不创建列表的类
import org.bukkit.Location;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.entity.Player;
import org.bukkit.event.player.PlayerMoveEvent;
public class Toggle implements Listener {
@EventHandler
public void onPlayerMove(PlayerMoveEvent evt) {
Player player = evt.getPlayer();
if (Freeze.togglelist.contains(player.getUniqueId())){
Location back = new Location(evt.getFrom().getWorld(), evt.getFrom().getX(), evt.getFrom().getY(), evt.getFrom().getZ());
evt.getPlayer().teleport(back);
}
}
}
我如何将其识别为列表?
答案 0 :(得分:1)
您的IDE出现错误的原因是由于输入错误。您在toggleList
中定义了Freeze
,但是尝试使用Freeze.togglelist
来引用它(请注意,“列表”的拼写是小写的“ l”)。
如果您的类在同一包中,则不需要其他import
指令。但是,如果Freeze
位于不同的程序包中,则需要import
的常规Freeze
(即非静态),这是您的IDE应该能够轻松解决的问题。 / p>
答案 1 :(得分:0)
向您的Toggle
类添加static import语句。
import static my.package.Freeze ;
或更改您的代码行以使用fully-qualified名称。
if ( my.package.Freeze.togglelist.contains( player.getUniqueId() ) ) {
如果使用检索到的UUID对象,则还需要导入that class。
import java.util.List ;
import java.util.UUID ;