这里有两个问题。
首先,您不能
[]像其他语言那样使用语法。方括号仅适用于Java中的数组,因此只能与整数索引一起使用。
data.put是正确的,但这是一条语句,因此必须存在于方法块中。在类级别只能存在字段声明。这是一个示例,其中所有内容都在方法的本地范围内:
public class Data { public static void main(String[] args) { Map<String, String> data = new HashMap<String, String>(); data.put("John", "Taxi Driver"); data.put("Mark", "Professional Killer"); } }如果要将映射初始化为类的静态字段,则可以使用
Map.of,因为Java
9:
public class Data { private static final Map<String, String> DATA = Map.of("John", "Taxi Driver");}在Java 9之前,您可以使用静态初始化程序块来完成相同的操作:
public class Data { private static final Map<String, String> DATA = new HashMap<>(); static { DATA.put("John", "Taxi Driver"); }}


