Java tutorial
//package com.java2s; /* * * * Copyright 2016 http://www.hswebframework.org * * * * Licensed under the Apache License, Version 2.0 (the "License"); * * you may not use this file except in compliance with the License. * * You may obtain a copy of the License at * * * * http://www.apache.org/licenses/LICENSE-2.0 * * * * Unless required by applicable law or agreed to in writing, software * * distributed under the License is distributed on an "AS IS" BASIS, * * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * * See the License for the specific language governing permissions and * * limitations under the License. * */ import java.util.HashMap; import java.util.Map; import java.util.function.Supplier; public class Main { private static final ThreadLocal<Map<String, Object>> local = ThreadLocal.withInitial(HashMap::new); public static <T> T put(String key, T value) { local.get().put(key, value); return value; } public static <T> T get(String key) { return ((T) local.get().get(key)); } public static <T> T get(String key, Supplier<T> supplierOnNull) { return ((T) local.get().computeIfAbsent(key, k -> supplierOnNull.get())); } }