我正在尝试使用“ThreadLocal.withInital”方法初始化 Map 类型的线程本地
我可以继续设置一个新的 ThreadLocal 并添加一个 setter 方法来继续初始化。但我正在尝试找到一种方法是否可以通过初始完成。
private static final ThreadLocal<Map<Date, Boolean>> dateBooleantl = new ThreadLocal<>();
预期输出:
private static final ThreadLocal<Map<Date, Boolean>> dateBooleantl = ThreadLocal.withInitial(<Hash-map that is set with a predefined date and a boolean>)
最佳答案
也许是这样:
private static final ThreadLocal<Map<Date, Boolean>> dateBooleantl = ThreadLocal.withInitial(() -> {
Map<Date, Boolean> map = new HashMap<>();
map.put(new Date(), true);
//do other stuff...
return map;
});
关于java - 如何使用 ThreadLocal.withInitial 初始化 Map 类型的线程本地?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54042004/