在HashMap中设置默认值

use*_*795 4 java spring spring-mvc

我试图找到一种方法使HashMap返回默认值.例如,如果你看下面这将打印输出" Test:= null "如果我想请求一个默认值,所以当我试图得到一些未在hashMap中设置的东西时,我会得到这个值?

Map<String, String> test = new HashMap<String, String>();
test.put("today","monday");
System.out.println("Test =:" + test.get("hello") + "");
Run Code Online (Sandbox Code Playgroud)

Arn*_*ach 8

请尝试以下方法:

Map<String,String> map = new HashMap<String,String>(){
    @Override
    public String get(Object key) {
        if(! containsKey(key))
            return "DEFAULT";
        return super.get(key);
    }
};

System.out.println(map.get("someKey"));
Run Code Online (Sandbox Code Playgroud)