关于Collections.emptyMap()的坑

244 阅读1分钟

Collections.emptyMap()会创建一个不可变的Map,任何对这个Map的修改操作(如put,remove等)都会抛出 UnsupportedOperationException 异常。 

 示例代码 

import java.util.Collections;
import java.util.Map;
 
public class EmptyMapExample {
    public static void main(String[] args) {
        Map<String, String> emptyMap = Collections.emptyMap();
 
        System.out.println("Empty Map: " + emptyMap);
 
        try {
            emptyMap.put("key", "value"); // 尝试修改不可变的 Map
        } catch (UnsupportedOperationException e) {
            System.out.println("Exception: " + e);
        }
    }
}

输出

Empty Map: {}
Exception: java.lang.UnsupportedOperationException

Collections.emptyMap() 提供了一种创建空且不可变 Map 的便捷方式。在需要一个空的、不可修改的 Map 时,可以使用这个方法。尝试对这个 Map 进行任何修改操作(如 put、remove 等)都会导致 UnsupportedOperationException 异常,因此在使用时需要注意这一点。