Eclipse中的代码在IntelliJ中不起作用

时间:2016-11-20 18:08:51

标签: java eclipse intellij-idea bukkit

所以我在2天后从Eclipse切换到IntelliJ我看到了一个奇怪的问题。当我将完全相同的代码从Eclipse复制到IntelliJ时,代码在IntelliJ中不起作用。

代码:

public class Main extends JavaPlugin {
    public void onEnable() {

    }

    public int number = 10;


    public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
        if (!(sender instanceof Player)) {
            sender.sendMessage("Console Only");
            return true;
        }

        Player player = (Player) sender;



        if (cmd.getName().equalsIgnoreCase("bomb")) {
            if(args.length == 0){
                player.sendMessage("You must specify a player");
                return true;
            }

            Player target = Bukkit.getServer().getPlayer(args[0]);

            if(target == null){
                player.sendMessage("Couldn't find that player!");
                return true;
            }

                Bukkit.getServer().getScheduler().scheduleSyncRepeatingTask(this, new Runnable() {
                    public void run() {
                        if (number != -1) {
                            if (number != 0) {
                                target.sendMessage("§a§l" + number + "§7 until you will explode!");
                                number--;
                            } else {
                                number--;
                                Location loc = target.getLocation();
                                World world = Bukkit.getServer().getWorld("world");
                                world.createExplosion(loc, 2F);
                            }
                        }
                    }
                }, 0, 20L);
            }
            return true;
    }
}

此代码适用于Eclipse,但不适用于IntelliJ。 IntelliJ说我需要添加一个' final'到这部分代码:

Player target = Bukkit.getServer().getPlayer(args[0]);

但是当我这样做时,插件就不再适用了。 为什么它在Eclipse中工作但在IntelliJ中不起作用?

1 个答案:

答案 0 :(得分:0)

您所看到的可能不是编译错误,而是IntelliJ代码检查。这些会发出警告,例如红色下划线(如编译错误),黄色下划线(如编译器警告)等。如果您将插入符号放在标记为红色的位置,并按下alt + Enter,则应给予一些选择,其中包括像“编辑检查设置”之类的东西。在这里你可以禁用这个检查。或者,您可以开始使用final ..