我想测试一个ThreadLocal是否已经初始化而没有实际初始化它.当然,代码需要是线程安全的.理想情况下我想要这样的东西:
class TestableThreadLocal<T> extends ThreadLocal<T> {
public boolean isInitialized() {
...
}
}
Run Code Online (Sandbox Code Playgroud)
但是我该如何实现这种方法呢?
编辑:动机:我有一个子类ThreadLocal来覆盖initialValue().但是,我并不总是需要初始化,特别是因为它可能会导致多类加载器环境中的内存泄漏.一个简单的测试可以帮助我编写代码以避免意外初始化.