JDK26中的Map.ofLazy

0 阅读1分钟

前言

Map.ofLazy 是 Java 26 引入的一个预览 API,用于创建惰性初始化、不可变、线程安全的 Map。它的核心特点是:键在创建时就需要提供,但值只会在第一次被访问时才通过函数计算出来,从而延迟开销、节省内存

Map.ofLazy使用

Map.ofLazy使用

import java.util.Map;
import java.util.Set;

public class MapLazyDemo {

    static void main() {
        Map<String, String> map = Map.ofLazy(Set.of("alice", "bob", "charlie"), name -> "Hello, " + name);
        System.out.println(map);
    }
}

输出结果为

image.png

ofLazy()注意


import java.util.Map;
import java.util.Set;

public class MapLazyDemo {

    static void main() {
        Map<String, String> map = Map.ofLazy(Set.of("alice", "bob", "charlie"), name -> "Hello, " + name);
        map.put("alice", "Hello, alice");
        System.out.println(map);
    }
}

输出结果为

image.png

总结

该特性目前仍处于 预览阶段(JDK 26/27),编译和运行需加 --enable-preview