首页 > 解决方案 > arraylist 列表在另一个类中未被识别

问题描述

我正在为 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);
        }
    }
}

我怎样才能让它识别为列表?

标签: javalistintellij-ideaminecraftbukkit

解决方案


无需静态导入

您的 IDE 发出错误的原因是因为拼写错误。您定义toggleListin Freeze,但尝试使用它来引用它Freeze.togglelist(请注意,“list”拼写为小写“l”)。

如果您的类在同一个包中,import则不需要进一步的指令。但是,如果Freeze在不同的包中,则需要常规import(即非静态) of Freeze,这是您的 IDE 应该能够轻松解决的问题。


推荐阅读