【问题标题】:How do I fix "the method put(string, string) is undefined for the type string" ? please如何修复“未定义类型字符串的方法 put(string, string)”?请
【发布时间】:2016-08-10 19:58:53
【问题描述】:
 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";
         }
     }
 }

【问题讨论】:

    标签: java string methods put


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      您必须使用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

      【讨论】:

        【解决方案3】:

        只需“导入 java.util.Properties;”

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2023-01-10
          • 1970-01-01
          • 1970-01-01
          • 2015-07-30
          • 1970-01-01
          • 1970-01-01
          • 2012-09-19
          • 1970-01-01
          相关资源
          最近更新 更多