刚接触java,对java的语法还不够了解,望大神解答一下: private static final ThreadLocal<Boolean> publishing = new ThreadLocal<Boolean>()
{ protected Boolean initialValue()
{ return Boolean.FALSE;
}
};这种写法我在网上查了一下,匿名内部类可以这样写,但ThreadLocal只是一个普通类而已,为什么可以这样写?跟泛型有什么关系吗?
1 回答
杨魅力
TA贡献1811条经验 获得超6个赞
什么类都可以写泛型,泛型的大概意思就是我不太确定我要传入什么类,不过又不想传入Object,然后强制转换,因此加入泛型,保证传入的类型能自己控制而且清楚明白。
其实你上面列举的例子是重新写过的,而非是类定义的方法
public class ThreadLocal<T>{ protected T initialValue() { return null; } }
这是定义的方法,传递T,然后返回T,T在你重写的例子就是Boolean
添加回答
举报
0/150
提交
取消