我如何修复"方法put(string,string)未定义类型字符串" ?请

时间:2016-08-10 19:58:54

标签: java string methods put

 package Utils; 

 import java.util.HashMap; 

 import org.bukkit.entity.Player;

 public class KitApi {

     public static HashMap<String, String> kit = new HashMap<>(); 

     public static void setKit(Player p, String kit) {
         kit.put(p.getName(), kit);
     }

     public static String getKit(Player p) {
         if (kit.containsKey(p.getName())) {
             return kit.get(p.getName());
         } else {         
             return "nenhum";
         }
     }
 }

3 个答案:

答案 0 :(得分:2)

重命名地图或参数。参数kit会影响地图的名称。 例如:

 public static void setKit(Player p, String _kit) {
    kit.put(p.getName(), _kit);
 }

答案 1 :(得分:0)

您必须使用this关键字来区分套件实例和套件参数:

public static void setKit(Player p, String kit) {
    this.kit.put(p.getName(), kit);
}

例如,当IDE生成getter / setter时,您会看到setters方法是:

public void setXxx(Integer xxx) { 
    this.xxx = xxx; 
}

this的用法正好区分了类对象和方法参数。

查看其文档中的更多详细信息: https://docs.oracle.com/javase/tutorial/java/javaOO/thiskey.html

答案 2 :(得分:0)

仅“导入java.util.Properties;”