2014-12-05 27 views
-1

我正在關注YouTube教程,並且遇到了此錯誤。什麼是@SuppressWarnings(「deprecation」)以及如何修復它?

在這一行,@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; 
    } 
} 
+0

這意味着您不應該使用不推薦使用的方法,並且IDE告訴您Java對於該程序有更好的選擇 – Jeeter 2014-12-06 15:22:25

回答

2

這不是一個錯誤。 您應該閱讀the definition of deprecation

@Deprecated註釋的程序元素是程序員不鼓勵使用的程序元素,通常是因爲它很危險,或者因爲存在更好的選擇。編譯器在非棄用代碼中使用或覆蓋不推薦使用的程序元素時發出警告。

爲什麼具體方法已被棄用的原因是因爲Bukkit現在移動到新的UUID系統,所以使用的名稱是不是最好的方式來獲得Player對象。

相關問題