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();
}
关于java - 空白的最终字段可能尚未初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28129169/