为什么weakreference引用的构造函数参数是class

lucene的源码有一处读不懂,


    
private static final WeakHashMap<Class<? extends Attribute>, WeakReference<Class<? extends AttributeImpl>>> attClassImplMap =
        new WeakHashMap<Class<? extends Attribute>, WeakReference<Class<? extends AttributeImpl>>>();
        

这里weakrefenece的构造函数是class的实例是一个对象才对,但是实际上还是一个Class

final WeakReference<Class<? extends AttributeImpl>> ref = attClassImplMap.get(attClass);
      Class<? extends AttributeImpl> clazz = (ref == null) ? null : ref.get();
      

为什么weakrefence引用的不是Class<? extends AttributeImpl>的实例呢?

阅读 2.1k
1 个回答

Class<? extends AttributeImpl> clazz = (ref == null) ? null : ref.get();

这不就是实例吗?实例类型是Class<? extends AttributeImpl>

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题