空白的最终字段可能尚未初始化

the blank final field may not have been initialized

PS: 有类似主题的问题,但我问的是本质上不同的。

我明白错误背后的原因

the blank final field may not have been initialized

当我尝试做类似

的事情时
  final Object[] items;

但让我担心的是 JDK ArrayBlockingQueue 实现 HERE。同一行(第 87 行)如何在这里没有错误地使用?

因为字段是在构造函数中初始化的

  public ArrayBlockingQueue(int capacity, boolean fair) {
        if (capacity <= 0)
            throw new IllegalArgumentException();
        this.items = new Object[capacity];
        lock = new ReentrantLock(fair);
        notEmpty = lock.newCondition();
        notFull =  lock.newCondition();
    }