我有下面的代码,它运行在JDK5上
private static ThreadLocal<String> messages = new ThreadLocal<String>();
private static ThreadLocal<Boolean> dontIntercept = new ThreadLocal<Boolean>() {
@Override
protected Boolean initialValue() {
return Boolean.FALSE;
}
};
我希望在JDK1.4上运行它。请告知需要进行哪些更改
答案 0 :(得分:1)
使用get和put方法时,必须删除泛型,然后适当地转换值。您还需要确保在代码中使用它的位置正确初始化布尔ThreadLocal。
答案 1 :(得分:1)
@Override
注释。所以
private static final ThreadLocal messages = new ThreadLocal();
private static final ThreadLocal dontIntercept = new ThreadLocal() {
protected Object initialValue() {
return Boolean.FALSE;
}
};
使用时
Boolean
。.booleanValue()
打开包装。Boolean.valueOf
。答案 2 :(得分:0)
如果程序正确写入Java 1.4行为,但使用Java 1.5+表示法,我们多次使用的方法是使用Retroweaver将编译的Java 1.5字节代码转换为Java 1.4字节代码。
http://retroweaver.sourceforge.net/
其他人存在,但我们发现这是最好的。
答案 3 :(得分:-1)
您可以随时从sun下载源代码并查看ThreadLocal类。
或使用此link