繁体   English   中英

arraylist列表无法在另一个类中识别

[英]arraylist list not being recognized in another class

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

我怎样才能将其识别为列表?

无需静态导入

您的IDE发出错误消息的原因是由于输入错误。 您在Freeze定义toggleList ,但是尝试使用Freeze.togglelist引用它(请注意,“ list”的拼写是小写的“ l”)。

如果您的类在同一包中,则不需要其他的import指令。 但是,如果Freeze位于不同的程序包中,则需要定期import (即,非静态的) Freeze ,这是您的IDE应该能够轻松解决的问题。

静态导入

静态导入语句添加到您的Toggle类。

import static my.package.Freeze ;

或更改您的代码行以使用标准名称。

if ( my.package.Freeze.togglelist.contains( player.getUniqueId() ) ) {

而且,如果使用检索到的UUID对象,则还需要导入该类

import java.util.List ;
import java.util.UUID ;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM