--- jsr166/src/main/java/util/ArrayDeque.java 2016/10/23 00:28:41 1.83 +++ jsr166/src/main/java/util/ArrayDeque.java 2016/10/23 19:30:54 1.85 @@ -187,11 +187,11 @@ public class ArrayDeque extends Abstr Object[] elements = c.toArray(); // defend against c.toArray (incorrectly) not returning Object[] // (see e.g. https://bugs.openjdk.java.net/browse/JDK-6260652) + size = elements.length; if (elements.getClass() != Object[].class) elements = Arrays.copyOf(elements, size, Object[].class); for (Object obj : elements) Objects.requireNonNull(obj); - size = elements.length; this.elements = elements; } @@ -365,10 +365,10 @@ public class ArrayDeque extends Abstr */ public E removeFirst() { // checkInvariants(); - E x = pollFirst(); - if (x == null) + E e = pollFirst(); + if (e == null) throw new NoSuchElementException(); - return x; + return e; } /** @@ -376,10 +376,10 @@ public class ArrayDeque extends Abstr */ public E removeLast() { // checkInvariants(); - E x = pollLast(); - if (x == null) + E e = pollLast(); + if (e == null) throw new NoSuchElementException(); - return x; + return e; } public E pollFirst() {