重写初始化方法使用,使其能够创建默认初始值
用一个内部类重写他的init方法
import java.util.HashMap;
import java.util.Map;
public class MyExecuteContext {
//让ThreadLocal里面有一个默认的类即在初始化时 new 出来
protected final static ThreadLocal<Map<Object, Object>> threadContext = new MapThreadLocal();
private static class MapThreadLocal extends ThreadLocal<Map<Object, Object>> {
@Override
protected Map<Object, Object> initialValue() {
return new HashMap<>();
}
}
public static void main(String[] args) {
Map<Object, Object> objectObjectMap = threadContext.get();
System.out.println(objectObjectMap==null);
}
}