0

我是 Spring 开发的新手,只是在探索一下。当我在控制器中使用硬编码的 HashMap 时,它会出错

//all corresponding package imports
@Controller
public class ContactController {

    Map<String, String> contactMap = new HashMap<String, String>();

    contactMap.put("name", "John");
    contactMap.put("lastname", "Lennon");
    contactMap.put("genres", "Rock, Pop");

}

当我把它放在静态块下时,它工作正常

@Controller
public class ContactController {

private static Map<String, String> contactMap = new HashMap<String, String>();
static {
    contactMap.put("name", "John");
    contactMap.put("lastname", "Lennon");
    contactMap.put("genres", "Rock, Pop");
}

}

这背后的逻辑是什么?

4

1 回答 1

1

这不是因为春天。如果 Java 类中的实例方法不在方法或构造函数中,则无法访问它。

于 2013-06-07T00:44:34.870 回答