Hi Robin,
This belongs in core-libs.
On 24/05/2023 16:50, Robin Gong wrote:
Hi,
Recently, I found this constructor in PriorityBlockingQueue:
public PriorityBlockingQueue(int initialCapacity,
Comparator<? super E> comparator) {
if (initialCapacity < 1)
throw new IllegalArgumentException();
this.comparator = comparator;
this.queue = new Object[Math.max(1, initialCapacity)];
}
I believe we could change 'Math.max(1, initialCapacity)' to
'initialCapacity'. Since initialCapacity must be greater or equal to 1.
It looks reasonable to me.
--
Regards,
Alexey
And also that's how PriorityQueue running.
public PriorityQueue(int initialCapacity,
Comparator<? super E> comparator) {
// Note: This restriction of at least one is not actually
needed,
// but continues for 1.5 compatibility
if (initialCapacity < 1)
throw new IllegalArgumentException();
this.queue = new Object[initialCapacity];
this.comparator = comparator;
}
Best regarts,
Robin Gong