ThreadLocal类的重写初始化方法

重写初始化方法使用,使其能够创建默认初始值

用一个内部类重写他的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);
    }
}

猜你喜欢

转载自blog.csdn.net/maqingbin8888/article/details/89202860