什么是@SuppressWarnings(“弃用”)以及如何解决?

时间:2014-12-05 22:02:47

标签: java bukkit suppress-warnings

我正在关注YouTube教程,但我遇到了这个错误。

在这一行,@SuppressWarnings("deprecation")出现了。

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

这是我简单的治疗插件。

package me.roofer.youtube;

import java.util.logging.Logger;

import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.plugin.PluginDescriptionFile;
import org.bukkit.plugin.java.JavaPlugin;

public class youtube extends JavaPlugin {
    public static Logger logger = Logger.getLogger("Minecraft");   
    public static youtube plugin;

    @Override
    public void onDisable() {
        PluginDescriptionFile pdfFile = this.getDescription();
        youtube.logger.info(pdfFile.getName() + " has been disabled!");
    }
    @Override
    public void onEnable() {
        PluginDescriptionFile pdfFile = this.getDescription();
        youtube.logger.info(pdfFile.getName() + " Version" + pdfFile.getVersion() + " has been Enabled!");

    public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args){
        @SuppressWarnings("unused")
        Player player = (Player) sender;
        if(commandLabel.equalsIgnoreCase("heal") || commandLabel.equalsIgnoreCase("h")) {
            // heal >> 0 args | heal roofer777 >> 1 arg
            if (args.length == 0){
                player.setHealth(20);
                player.sendMessage(ChatColor.RED + "Healed!");
            }else if(args.length == 1){
                @SuppressWarnings({"unused", "deprecation"})
                Player targerPlayer = Bukkit.getServer().getPlayer(args[0]);
                targetPlayer.setHealth(20);
            }
        }
        return false;
    }
}

1 个答案:

答案 0 :(得分:2)

这不是错误。 您应该阅读the definition of deprecation

  

注释@Deprecated的程序元素是程序员不鼓励使用的程序元素,通常是因为它很危险,或者因为存在更好的替代方案。当在不推荐使用的代码中使用或覆盖已弃用的程序元素时,编译器会发出警告。

不推荐使用该特定方法的原因是因为Bukkit现在转移到新的UUID系统,因此使用名称不是获取Player对象的最佳方法。