Sounds very reasonable. ________________________________ From: core-libs-dev <core-libs-dev-r...@openjdk.org> on behalf of Aleksei Ivanov <alexey.iva...@oracle.com> Sent: Wednesday, 24 May 2023 20:03 To: Robin Gong <irobing...@gmail.com>; core-libs <core-libs-dev@openjdk.org> Subject: Re: Remove unnecessary method call in PriorityBlockingQueue
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