首页 > 解决方案 > 在java中创建hashMap

问题描述

我对 Java 很陌生。我正在尝试创建一个 hashMap 并从另一个类调用 hashMap 类。我在下面有以下代码。我不断收到错误

package domain;

import java.util.HashMap;
import java.util.Map;

public class AumentumDocTypeMap {
  private HashMap<String, String> DocTypeMap = new HashMap<String, String>();
  DocTypeMap.put("7000690", "691");

  public HashMap<String, String> getTypeMap() {
       return DocTypeMap;
  }
}

我在 DocTypeMap.put("7000690", "691"); 上不断收到错误消息 在令牌上说语法错误,删除令牌

标签: java

解决方案


您需要put在方法中移动调用,而不是在类主体中。

添加构造函数(在创建对象时调用)以正确初始化类。

package domain;

import java.util.HashMap;
import java.util.Map;

public class AumentumDocTypeMap {
  private Map<String, String> docTypeMap;

  public AumentumDocTypeMap() {
      docTypeMap = new HashMap<String, String>();
      docTypeMap.put("7000690", "691");
  }

  public HashMap<String, String> getTypeMap() {
       return docTypeMap;
  }
}

此外,变量名中的小写首字母是标准的:)。尽管具有大写首字母实际上不会破坏任何东西。

另请注意,我在构造函数内移动了哈希映射创建。一般来说,你应该避免在你声明它们的地方初始化对象,而是在构造函数(或静态初始化块 - 你可以用谷歌搜索)来做。

同样 - 正如@Maxim 在评论中指出的那样,您应该设置映射变量的类型,Map<String, String>因为它允许您将实现从哈希映射更改为链接哈希映射或树映射。


推荐阅读