From f35ec148f5d89d6e8168d06d7376b5ef5bb20c79 Mon Sep 17 00:00:00 2001 From: Paul Sandoz Date: Fri, 20 Dec 2013 13:38:13 +0100 Subject: [PATCH] 8030851: Update code in java.util to use newer language features Reviewed-by: dfuchs, briangoetz, chegar, alanb, mduigou --- .../share/classes/java/util/AbstractMap.java | 11 ++--- .../java/util/AbstractSequentialList.java | 5 +-- .../share/classes/java/util/AbstractSet.java | 4 +- .../share/classes/java/util/ArrayDeque.java | 2 +- .../share/classes/java/util/ArrayList.java | 8 ++-- .../classes/java/util/ArrayPrefixHelpers.java | 4 +- jdk/src/share/classes/java/util/Arrays.java | 10 ++--- .../java/util/ArraysParallelSortHelpers.java | 24 +++++------ jdk/src/share/classes/java/util/Calendar.java | 3 +- .../share/classes/java/util/Collections.java | 16 ++++---- .../share/classes/java/util/Formatter.java | 13 +++--- jdk/src/share/classes/java/util/HashMap.java | 36 ++++++++--------- jdk/src/share/classes/java/util/HashSet.java | 6 +-- .../share/classes/java/util/Hashtable.java | 9 ++--- .../classes/java/util/IdentityHashMap.java | 16 ++++---- .../classes/java/util/LinkedHashMap.java | 8 ++-- .../share/classes/java/util/LinkedList.java | 2 +- .../classes/java/util/ListResourceBundle.java | 6 +-- .../classes/java/util/PriorityQueue.java | 10 ++--- .../classes/java/util/ResourceBundle.java | 8 +--- .../classes/java/util/StringTokenizer.java | 4 +- jdk/src/share/classes/java/util/TreeMap.java | 23 +++++------ jdk/src/share/classes/java/util/TreeSet.java | 2 +- jdk/src/share/classes/java/util/Vector.java | 4 +- .../share/classes/java/util/WeakHashMap.java | 16 ++++---- .../classes/java/util/jar/Attributes.java | 40 +++++++++---------- .../share/classes/java/util/jar/JarFile.java | 28 ++++++------- .../classes/java/util/jar/JarVerifier.java | 35 ++++++---------- .../share/classes/java/util/jar/Manifest.java | 4 +- .../classes/java/util/logging/LogManager.java | 13 ++---- .../classes/java/util/logging/LogRecord.java | 8 +--- .../classes/java/util/logging/Logger.java | 5 +-- .../java/util/logging/XMLFormatter.java | 9 ++--- .../java/util/prefs/AbstractPreferences.java | 37 +++++++++-------- .../classes/java/util/prefs/XmlSupport.java | 9 ++--- .../classes/java/util/regex/Pattern.java | 33 +++++++++------ .../classes/java/util/stream/SortedOps.java | 2 +- 37 files changed, 215 insertions(+), 258 deletions(-) diff --git a/jdk/src/share/classes/java/util/AbstractMap.java b/jdk/src/share/classes/java/util/AbstractMap.java index 7c5153fc3bb..ed9f652a2ac 100644 --- a/jdk/src/share/classes/java/util/AbstractMap.java +++ b/jdk/src/share/classes/java/util/AbstractMap.java @@ -448,13 +448,11 @@ public abstract class AbstractMap implements Map { return false; try { - Iterator> i = entrySet().iterator(); - while (i.hasNext()) { - Entry e = i.next(); + for (Entry e : entrySet()) { K key = e.getKey(); V value = e.getValue(); if (value == null) { - if (!(m.get(key)==null && m.containsKey(key))) + if (!(m.get(key) == null && m.containsKey(key))) return false; } else { if (!value.equals(m.get(key))) @@ -489,9 +487,8 @@ public abstract class AbstractMap implements Map { */ public int hashCode() { int h = 0; - Iterator> i = entrySet().iterator(); - while (i.hasNext()) - h += i.next().hashCode(); + for (Entry entry : entrySet()) + h += entry.hashCode(); return h; } diff --git a/jdk/src/share/classes/java/util/AbstractSequentialList.java b/jdk/src/share/classes/java/util/AbstractSequentialList.java index 36a91dabaad..85f77c6e308 100644 --- a/jdk/src/share/classes/java/util/AbstractSequentialList.java +++ b/jdk/src/share/classes/java/util/AbstractSequentialList.java @@ -213,9 +213,8 @@ public abstract class AbstractSequentialList extends AbstractList { try { boolean modified = false; ListIterator e1 = listIterator(index); - Iterator e2 = c.iterator(); - while (e2.hasNext()) { - e1.add(e2.next()); + for (E e : c) { + e1.add(e); modified = true; } return modified; diff --git a/jdk/src/share/classes/java/util/AbstractSet.java b/jdk/src/share/classes/java/util/AbstractSet.java index 6dc2f522fed..d54e3f81d6d 100644 --- a/jdk/src/share/classes/java/util/AbstractSet.java +++ b/jdk/src/share/classes/java/util/AbstractSet.java @@ -170,8 +170,8 @@ public abstract class AbstractSet extends AbstractCollection implements Se boolean modified = false; if (size() > c.size()) { - for (Iterator i = c.iterator(); i.hasNext(); ) - modified |= remove(i.next()); + for (Object e : c) + modified |= remove(e); } else { for (Iterator i = iterator(); i.hasNext(); ) { if (c.contains(i.next())) { diff --git a/jdk/src/share/classes/java/util/ArrayDeque.java b/jdk/src/share/classes/java/util/ArrayDeque.java index 9e77f6dba5f..7d5e015abcd 100644 --- a/jdk/src/share/classes/java/util/ArrayDeque.java +++ b/jdk/src/share/classes/java/util/ArrayDeque.java @@ -902,7 +902,7 @@ public class ArrayDeque extends AbstractCollection * @since 1.8 */ public Spliterator spliterator() { - return new DeqSpliterator(this, -1, -1); + return new DeqSpliterator<>(this, -1, -1); } static final class DeqSpliterator implements Spliterator { diff --git a/jdk/src/share/classes/java/util/ArrayList.java b/jdk/src/share/classes/java/util/ArrayList.java index dae280dcde2..b06c8fd1913 100644 --- a/jdk/src/share/classes/java/util/ArrayList.java +++ b/jdk/src/share/classes/java/util/ArrayList.java @@ -1218,8 +1218,8 @@ public class ArrayList extends AbstractList public Spliterator spliterator() { checkForComodification(); - return new ArrayListSpliterator(ArrayList.this, offset, - offset + this.size, this.modCount); + return new ArrayListSpliterator<>(ArrayList.this, offset, + offset + this.size, this.modCount); } } @@ -1322,8 +1322,8 @@ public class ArrayList extends AbstractList public ArrayListSpliterator trySplit() { int hi = getFence(), lo = index, mid = (lo + hi) >>> 1; return (lo >= mid) ? null : // divide range in half unless too small - new ArrayListSpliterator(list, lo, index = mid, - expectedModCount); + new ArrayListSpliterator<>(list, lo, index = mid, + expectedModCount); } public boolean tryAdvance(Consumer action) { diff --git a/jdk/src/share/classes/java/util/ArrayPrefixHelpers.java b/jdk/src/share/classes/java/util/ArrayPrefixHelpers.java index afa872c5855..634be7f720a 100644 --- a/jdk/src/share/classes/java/util/ArrayPrefixHelpers.java +++ b/jdk/src/share/classes/java/util/ArrayPrefixHelpers.java @@ -142,9 +142,9 @@ class ArrayPrefixHelpers { if (lt == null) { // first pass int mid = (l + h) >>> 1; f = rt = t.right = - new CumulateTask(t, fn, a, org, fnc, th, mid, h); + new CumulateTask<>(t, fn, a, org, fnc, th, mid, h); t = lt = t.left = - new CumulateTask(t, fn, a, org, fnc, th, l, mid); + new CumulateTask<>(t, fn, a, org, fnc, th, l, mid); } else { // possibly refork T pin = t.in; diff --git a/jdk/src/share/classes/java/util/Arrays.java b/jdk/src/share/classes/java/util/Arrays.java index c620c81f572..268205052a9 100644 --- a/jdk/src/share/classes/java/util/Arrays.java +++ b/jdk/src/share/classes/java/util/Arrays.java @@ -1002,7 +1002,7 @@ public class Arrays { (p = ForkJoinPool.getCommonPoolParallelism()) == 1) TimSort.sort(a, 0, n, NaturalOrder.INSTANCE, null, 0, 0); else - new ArraysParallelSortHelpers.FJObject.Sorter + new ArraysParallelSortHelpers.FJObject.Sorter<> (null, a, (T[])Array.newInstance(a.getClass().getComponentType(), n), 0, n, 0, ((g = n / (p << 2)) <= MIN_ARRAY_SORT_GRAN) ? @@ -1061,7 +1061,7 @@ public class Arrays { (p = ForkJoinPool.getCommonPoolParallelism()) == 1) TimSort.sort(a, fromIndex, toIndex, NaturalOrder.INSTANCE, null, 0, 0); else - new ArraysParallelSortHelpers.FJObject.Sorter + new ArraysParallelSortHelpers.FJObject.Sorter<> (null, a, (T[])Array.newInstance(a.getClass().getComponentType(), n), fromIndex, n, 0, ((g = n / (p << 2)) <= MIN_ARRAY_SORT_GRAN) ? @@ -1110,7 +1110,7 @@ public class Arrays { (p = ForkJoinPool.getCommonPoolParallelism()) == 1) TimSort.sort(a, 0, n, cmp, null, 0, 0); else - new ArraysParallelSortHelpers.FJObject.Sorter + new ArraysParallelSortHelpers.FJObject.Sorter<> (null, a, (T[])Array.newInstance(a.getClass().getComponentType(), n), 0, n, 0, ((g = n / (p << 2)) <= MIN_ARRAY_SORT_GRAN) ? @@ -1171,7 +1171,7 @@ public class Arrays { (p = ForkJoinPool.getCommonPoolParallelism()) == 1) TimSort.sort(a, fromIndex, toIndex, cmp, null, 0, 0); else - new ArraysParallelSortHelpers.FJObject.Sorter + new ArraysParallelSortHelpers.FJObject.Sorter<> (null, a, (T[])Array.newInstance(a.getClass().getComponentType(), n), fromIndex, n, 0, ((g = n / (p << 2)) <= MIN_ARRAY_SORT_GRAN) ? @@ -4587,7 +4587,7 @@ public class Arrays { if (a.length != 0 && bufLen <= 0) bufLen = Integer.MAX_VALUE; StringBuilder buf = new StringBuilder(bufLen); - deepToString(a, buf, new HashSet()); + deepToString(a, buf, new HashSet<>()); return buf.toString(); } diff --git a/jdk/src/share/classes/java/util/ArraysParallelSortHelpers.java b/jdk/src/share/classes/java/util/ArraysParallelSortHelpers.java index bc08be67e60..3ad4fc39989 100644 --- a/jdk/src/share/classes/java/util/ArraysParallelSortHelpers.java +++ b/jdk/src/share/classes/java/util/ArraysParallelSortHelpers.java @@ -130,15 +130,15 @@ import java.util.concurrent.CountedCompleter; int b = this.base, n = this.size, wb = this.wbase, g = this.gran; while (n > g) { int h = n >>> 1, q = h >>> 1, u = h + q; // quartiles - Relay fc = new Relay(new Merger(s, w, a, wb, h, - wb+h, n-h, b, g, c)); - Relay rc = new Relay(new Merger(fc, a, w, b+h, q, - b+u, n-u, wb+h, g, c)); - new Sorter(rc, a, w, b+u, n-u, wb+u, g, c).fork(); - new Sorter(rc, a, w, b+h, q, wb+h, g, c).fork();; - Relay bc = new Relay(new Merger(fc, a, w, b, q, - b+q, h-q, wb, g, c)); - new Sorter(bc, a, w, b+q, h-q, wb+q, g, c).fork(); + Relay fc = new Relay(new Merger<>(s, w, a, wb, h, + wb+h, n-h, b, g, c)); + Relay rc = new Relay(new Merger<>(fc, a, w, b+h, q, + b+u, n-u, wb+h, g, c)); + new Sorter<>(rc, a, w, b+u, n-u, wb+u, g, c).fork(); + new Sorter<>(rc, a, w, b+h, q, wb+h, g, c).fork();; + Relay bc = new Relay(new Merger<>(fc, a, w, b, q, + b+q, h-q, wb, g, c)); + new Sorter<>(bc, a, w, b+q, h-q, wb+q, g, c).fork(); s = new EmptyCompleter(bc); n = q; } @@ -199,9 +199,9 @@ import java.util.concurrent.CountedCompleter; lo = lm + 1; } } - Merger m = new Merger(this, a, w, lb + lh, ln - lh, - rb + rh, rn - rh, - k + lh + rh, g, c); + Merger m = new Merger<>(this, a, w, lb + lh, ln - lh, + rb + rh, rn - rh, + k + lh + rh, g, c); rn = rh; ln = lh; addToPendingCount(1); diff --git a/jdk/src/share/classes/java/util/Calendar.java b/jdk/src/share/classes/java/util/Calendar.java index 03342411d0b..3ddf59abda6 100644 --- a/jdk/src/share/classes/java/util/Calendar.java +++ b/jdk/src/share/classes/java/util/Calendar.java @@ -3380,8 +3380,7 @@ public abstract class Calendar implements Serializable, Cloneable, Comparable= newStamp && min > v) { min = v; } diff --git a/jdk/src/share/classes/java/util/Collections.java b/jdk/src/share/classes/java/util/Collections.java index 947b6282db4..8a20078fabf 100644 --- a/jdk/src/share/classes/java/util/Collections.java +++ b/jdk/src/share/classes/java/util/Collections.java @@ -165,9 +165,9 @@ public class Collections { Object[] a = list.toArray(); Arrays.sort(a); ListIterator i = list.listIterator(); - for (int j=0; j i = list.listIterator(); - for (int j=0; j()); + super(new TreeSet<>()); } private Object readResolve() { return EMPTY_NAVIGABLE_SET; } @@ -1910,7 +1910,7 @@ public class Collections { private static final long serialVersionUID = -2239321462712562324L; - EmptyNavigableMap() { super(new TreeMap()); } + EmptyNavigableMap() { super(new TreeMap<>()); } @Override public NavigableSet navigableKeySet() diff --git a/jdk/src/share/classes/java/util/Formatter.java b/jdk/src/share/classes/java/util/Formatter.java index 7b6e1d1de1e..60671646a5d 100644 --- a/jdk/src/share/classes/java/util/Formatter.java +++ b/jdk/src/share/classes/java/util/Formatter.java @@ -2499,8 +2499,7 @@ public final class Formatter implements Closeable, Flushable { int lasto = -1; FormatString[] fsa = parse(format); - for (int i = 0; i < fsa.length; i++) { - FormatString fs = fsa[i]; + for (FormatString fs : fsa) { int index = fs.index(); try { switch (index) { @@ -2992,9 +2991,9 @@ public final class Formatter implements Closeable, Flushable { } private void checkBadFlags(Flags ... badFlags) { - for (int i = 0; i < badFlags.length; i++) - if (f.contains(badFlags[i])) - failMismatch(badFlags[i], c); + for (Flags badFlag : badFlags) + if (f.contains(badFlag)) + failMismatch(badFlag, c); } private void checkFloat() { @@ -4437,8 +4436,8 @@ public final class Formatter implements Closeable, Flushable { public static Flags parse(String s) { char[] ca = s.toCharArray(); Flags f = new Flags(0); - for (int i = 0; i < ca.length; i++) { - Flags v = parse(ca[i]); + for (char c : ca) { + Flags v = parse(c); if (f.contains(v)) throw new DuplicateFormatFlagsException(v.toString()); f.add(v); diff --git a/jdk/src/share/classes/java/util/HashMap.java b/jdk/src/share/classes/java/util/HashMap.java index ac3f635e432..a59c98d4acf 100644 --- a/jdk/src/share/classes/java/util/HashMap.java +++ b/jdk/src/share/classes/java/util/HashMap.java @@ -344,13 +344,13 @@ public class HashMap extends AbstractMap */ static Class comparableClassFor(Object x) { if (x instanceof Comparable) { - Class c; Type[] ts, as; Type t; ParameterizedType p; + Class c; Type[] ts, as; ParameterizedType p; if ((c = x.getClass()) == String.class) // bypass checks return c; if ((ts = c.getGenericInterfaces()) != null) { - for (int i = 0; i < ts.length; ++i) { - if (((t = ts[i]) instanceof ParameterizedType) && - ((p = (ParameterizedType)t).getRawType() == + for (Type t : ts) { + if ((t instanceof ParameterizedType) && + ((p = (ParameterizedType) t).getRawType() == Comparable.class) && (as = p.getActualTypeArguments()) != null && as.length == 1 && as[0] == c) // type arg is c @@ -875,8 +875,8 @@ public class HashMap extends AbstractMap public boolean containsValue(Object value) { Node[] tab; V v; if ((tab = table) != null && size > 0) { - for (int i = 0; i < tab.length; ++i) { - for (Node e = tab[i]; e != null; e = e.next) { + for (Node e : tab) { + for (; e != null; e = e.next) { if ((v = e.value) == value || (value != null && value.equals(v))) return true; @@ -923,8 +923,8 @@ public class HashMap extends AbstractMap throw new NullPointerException(); if (size > 0 && (tab = table) != null) { int mc = modCount; - for (int i = 0; i < tab.length; ++i) { - for (Node e = tab[i]; e != null; e = e.next) + for (Node e : tab) { + for (; e != null; e = e.next) action.accept(e.key); } if (modCount != mc) @@ -967,8 +967,8 @@ public class HashMap extends AbstractMap throw new NullPointerException(); if (size > 0 && (tab = table) != null) { int mc = modCount; - for (int i = 0; i < tab.length; ++i) { - for (Node e = tab[i]; e != null; e = e.next) + for (Node e : tab) { + for (; e != null; e = e.next) action.accept(e.value); } if (modCount != mc) @@ -1030,8 +1030,8 @@ public class HashMap extends AbstractMap throw new NullPointerException(); if (size > 0 && (tab = table) != null) { int mc = modCount; - for (int i = 0; i < tab.length; ++i) { - for (Node e = tab[i]; e != null; e = e.next) + for (Node e : tab) { + for (; e != null; e = e.next) action.accept(e); } if (modCount != mc) @@ -1275,8 +1275,8 @@ public class HashMap extends AbstractMap throw new NullPointerException(); if (size > 0 && (tab = table) != null) { int mc = modCount; - for (int i = 0; i < tab.length; ++i) { - for (Node e = tab[i]; e != null; e = e.next) + for (Node e : tab) { + for (; e != null; e = e.next) action.accept(e.key, e.value); } if (modCount != mc) @@ -1291,8 +1291,8 @@ public class HashMap extends AbstractMap throw new NullPointerException(); if (size > 0 && (tab = table) != null) { int mc = modCount; - for (int i = 0; i < tab.length; ++i) { - for (Node e = tab[i]; e != null; e = e.next) { + for (Node e : tab) { + for (; e != null; e = e.next) { e.value = function.apply(e.key, e.value); } } @@ -1771,8 +1771,8 @@ public class HashMap extends AbstractMap void internalWriteEntries(java.io.ObjectOutputStream s) throws IOException { Node[] tab; if (size > 0 && (tab = table) != null) { - for (int i = 0; i < tab.length; ++i) { - for (Node e = tab[i]; e != null; e = e.next) { + for (Node e : tab) { + for (; e != null; e = e.next) { s.writeObject(e.key); s.writeObject(e.value); } diff --git a/jdk/src/share/classes/java/util/HashSet.java b/jdk/src/share/classes/java/util/HashSet.java index f9b09ee4c83..4d4e8bdc2aa 100644 --- a/jdk/src/share/classes/java/util/HashSet.java +++ b/jdk/src/share/classes/java/util/HashSet.java @@ -324,8 +324,8 @@ public class HashSet // Create backing HashMap map = (((HashSet)this) instanceof LinkedHashSet ? - new LinkedHashMap(capacity, loadFactor) : - new HashMap(capacity, loadFactor)); + new LinkedHashMap<>(capacity, loadFactor) : + new HashMap<>(capacity, loadFactor)); // Read in all elements in the proper order. for (int i=0; i * @since 1.8 */ public Spliterator spliterator() { - return new HashMap.KeySpliterator(map, 0, -1, 0, 0); + return new HashMap.KeySpliterator<>(map, 0, -1, 0, 0); } } diff --git a/jdk/src/share/classes/java/util/Hashtable.java b/jdk/src/share/classes/java/util/Hashtable.java index b97a8e361bb..ce706130070 100644 --- a/jdk/src/share/classes/java/util/Hashtable.java +++ b/jdk/src/share/classes/java/util/Hashtable.java @@ -801,13 +801,11 @@ public class Hashtable return false; try { - Iterator> i = entrySet().iterator(); - while (i.hasNext()) { - Map.Entry e = i.next(); + for (Map.Entry e : entrySet()) { K key = e.getKey(); V value = e.getValue(); if (value == null) { - if (!(t.get(key)==null && t.containsKey(key))) + if (!(t.get(key) == null && t.containsKey(key))) return false; } else { if (!value.equals(t.get(key))) @@ -1140,8 +1138,7 @@ public class Hashtable s.writeInt(count); // Stack copies of the entries in the table - for (int index = 0; index < table.length; index++) { - Entry entry = table[index]; + for (Entry entry : table) { while (entry != null) { entryStack = diff --git a/jdk/src/share/classes/java/util/IdentityHashMap.java b/jdk/src/share/classes/java/util/IdentityHashMap.java index 3db40588d77..2b4f19d09b2 100644 --- a/jdk/src/share/classes/java/util/IdentityHashMap.java +++ b/jdk/src/share/classes/java/util/IdentityHashMap.java @@ -1426,8 +1426,8 @@ public class IdentityHashMap public KeySpliterator trySplit() { int hi = getFence(), lo = index, mid = ((lo + hi) >>> 1) & ~1; return (lo >= mid) ? null : - new KeySpliterator(map, lo, index = mid, est >>>= 1, - expectedModCount); + new KeySpliterator<>(map, lo, index = mid, est >>>= 1, + expectedModCount); } @SuppressWarnings("unchecked") @@ -1483,8 +1483,8 @@ public class IdentityHashMap public ValueSpliterator trySplit() { int hi = getFence(), lo = index, mid = ((lo + hi) >>> 1) & ~1; return (lo >= mid) ? null : - new ValueSpliterator(map, lo, index = mid, est >>>= 1, - expectedModCount); + new ValueSpliterator<>(map, lo, index = mid, est >>>= 1, + expectedModCount); } public void forEachRemaining(Consumer action) { @@ -1542,8 +1542,8 @@ public class IdentityHashMap public EntrySpliterator trySplit() { int hi = getFence(), lo = index, mid = ((lo + hi) >>> 1) & ~1; return (lo >= mid) ? null : - new EntrySpliterator(map, lo, index = mid, est >>>= 1, - expectedModCount); + new EntrySpliterator<>(map, lo, index = mid, est >>>= 1, + expectedModCount); } public void forEachRemaining(Consumer> action) { @@ -1560,7 +1560,7 @@ public class IdentityHashMap (K)unmaskNull(key); @SuppressWarnings("unchecked") V v = (V)a[i+1]; action.accept - (new AbstractMap.SimpleImmutableEntry(k, v)); + (new AbstractMap.SimpleImmutableEntry<>(k, v)); } } @@ -1583,7 +1583,7 @@ public class IdentityHashMap @SuppressWarnings("unchecked") K k = (K)unmaskNull(key); action.accept - (new AbstractMap.SimpleImmutableEntry(k, v)); + (new AbstractMap.SimpleImmutableEntry<>(k, v)); if (map.modCount != expectedModCount) throw new ConcurrentModificationException(); return true; diff --git a/jdk/src/share/classes/java/util/LinkedHashMap.java b/jdk/src/share/classes/java/util/LinkedHashMap.java index ba4fcd8de1c..b8d3fdb40ad 100644 --- a/jdk/src/share/classes/java/util/LinkedHashMap.java +++ b/jdk/src/share/classes/java/util/LinkedHashMap.java @@ -254,7 +254,7 @@ public class LinkedHashMap Node newNode(int hash, K key, V value, Node e) { LinkedHashMap.Entry p = - new LinkedHashMap.Entry(hash, key, value, e); + new LinkedHashMap.Entry<>(hash, key, value, e); linkNodeLast(p); return p; } @@ -262,20 +262,20 @@ public class LinkedHashMap Node replacementNode(Node p, Node next) { LinkedHashMap.Entry q = (LinkedHashMap.Entry)p; LinkedHashMap.Entry t = - new LinkedHashMap.Entry(q.hash, q.key, q.value, next); + new LinkedHashMap.Entry<>(q.hash, q.key, q.value, next); transferLinks(q, t); return t; } TreeNode newTreeNode(int hash, K key, V value, Node next) { - TreeNode p = new TreeNode(hash, key, value, next); + TreeNode p = new TreeNode<>(hash, key, value, next); linkNodeLast(p); return p; } TreeNode replacementTreeNode(Node p, Node next) { LinkedHashMap.Entry q = (LinkedHashMap.Entry)p; - TreeNode t = new TreeNode(q.hash, q.key, q.value, next); + TreeNode t = new TreeNode<>(q.hash, q.key, q.value, next); transferLinks(q, t); return t; } diff --git a/jdk/src/share/classes/java/util/LinkedList.java b/jdk/src/share/classes/java/util/LinkedList.java index 6c0626b433f..43ab9dfca2e 100644 --- a/jdk/src/share/classes/java/util/LinkedList.java +++ b/jdk/src/share/classes/java/util/LinkedList.java @@ -1167,7 +1167,7 @@ public class LinkedList */ @Override public Spliterator spliterator() { - return new LLSpliterator(this, -1, 0); + return new LLSpliterator<>(this, -1, 0); } /** A customized variant of Spliterators.IteratorSpliterator */ diff --git a/jdk/src/share/classes/java/util/ListResourceBundle.java b/jdk/src/share/classes/java/util/ListResourceBundle.java index 1c1e5f04e89..35464b3b98e 100644 --- a/jdk/src/share/classes/java/util/ListResourceBundle.java +++ b/jdk/src/share/classes/java/util/ListResourceBundle.java @@ -194,10 +194,10 @@ public abstract class ListResourceBundle extends ResourceBundle { Object[][] contents = getContents(); HashMap temp = new HashMap<>(contents.length); - for (int i = 0; i < contents.length; ++i) { + for (Object[] content : contents) { // key must be non-null String, value must be non-null - String key = (String) contents[i][0]; - Object value = contents[i][1]; + String key = (String) content[0]; + Object value = content[1]; if (key == null || value == null) { throw new NullPointerException(); } diff --git a/jdk/src/share/classes/java/util/PriorityQueue.java b/jdk/src/share/classes/java/util/PriorityQueue.java index f2f870670bb..b0fb9816be0 100644 --- a/jdk/src/share/classes/java/util/PriorityQueue.java +++ b/jdk/src/share/classes/java/util/PriorityQueue.java @@ -258,8 +258,8 @@ public class PriorityQueue extends AbstractQueue a = Arrays.copyOf(a, a.length, Object[].class); int len = a.length; if (len == 1 || this.comparator != null) - for (int i = 0; i < len; i++) - if (a[i] == null) + for (Object e : a) + if (e == null) throw new NullPointerException(); this.queue = a; this.size = a.length; @@ -809,7 +809,7 @@ public class PriorityQueue extends AbstractQueue * @since 1.8 */ public final Spliterator spliterator() { - return new PriorityQueueSpliterator(this, 0, -1, 0); + return new PriorityQueueSpliterator<>(this, 0, -1, 0); } static final class PriorityQueueSpliterator implements Spliterator { @@ -843,8 +843,8 @@ public class PriorityQueue extends AbstractQueue public PriorityQueueSpliterator trySplit() { int hi = getFence(), lo = index, mid = (lo + hi) >>> 1; return (lo >= mid) ? null : - new PriorityQueueSpliterator(pq, lo, index = mid, - expectedModCount); + new PriorityQueueSpliterator<>(pq, lo, index = mid, + expectedModCount); } @SuppressWarnings("unchecked") diff --git a/jdk/src/share/classes/java/util/ResourceBundle.java b/jdk/src/share/classes/java/util/ResourceBundle.java index 9e041f24aa7..bbbb1f09f24 100644 --- a/jdk/src/share/classes/java/util/ResourceBundle.java +++ b/jdk/src/share/classes/java/util/ResourceBundle.java @@ -1494,19 +1494,15 @@ public abstract class ResourceBundle { Locale targetLocale = cacheKey.getLocale(); ResourceBundle bundle = null; - int size = formats.size(); - for (int i = 0; i < size; i++) { - String format = formats.get(i); + for (String format : formats) { try { bundle = control.newBundle(cacheKey.getName(), targetLocale, format, cacheKey.getLoader(), reload); - } catch (LinkageError error) { + } catch (LinkageError | Exception error) { // We need to handle the LinkageError case due to // inconsistent case-sensitivity in ClassLoader. // See 6572242 for details. cacheKey.setCause(error); - } catch (Exception cause) { - cacheKey.setCause(cause); } if (bundle != null) { // Set the format in the cache key so that it can be diff --git a/jdk/src/share/classes/java/util/StringTokenizer.java b/jdk/src/share/classes/java/util/StringTokenizer.java index 1540c1a28ea..15285ca8f01 100644 --- a/jdk/src/share/classes/java/util/StringTokenizer.java +++ b/jdk/src/share/classes/java/util/StringTokenizer.java @@ -297,8 +297,8 @@ class StringTokenizer implements Enumeration { } private boolean isDelimiter(int codePoint) { - for (int i = 0; i < delimiterCodePoints.length; i++) { - if (delimiterCodePoints[i] == codePoint) { + for (int delimiterCodePoint : delimiterCodePoints) { + if (delimiterCodePoint == codePoint) { return true; } } diff --git a/jdk/src/share/classes/java/util/TreeMap.java b/jdk/src/share/classes/java/util/TreeMap.java index 6a3ecc00bd0..fa97543a654 100644 --- a/jdk/src/share/classes/java/util/TreeMap.java +++ b/jdk/src/share/classes/java/util/TreeMap.java @@ -198,8 +198,7 @@ public class TreeMap comparator = m.comparator(); try { buildFromSorted(m.size(), m.entrySet().iterator(), null, null); - } catch (java.io.IOException cannotHappen) { - } catch (ClassNotFoundException cannotHappen) { + } catch (java.io.IOException | ClassNotFoundException cannotHappen) { } } @@ -318,8 +317,7 @@ public class TreeMap try { buildFromSorted(mapSize, map.entrySet().iterator(), null, null); - } catch (java.io.IOException cannotHappen) { - } catch (ClassNotFoundException cannotHappen) { + } catch (java.io.IOException | ClassNotFoundException cannotHappen) { } return; } @@ -644,8 +642,7 @@ public class TreeMap // Initialize clone with our mappings try { clone.buildFromSorted(size, entrySet().iterator(), null, null); - } catch (java.io.IOException cannotHappen) { - } catch (ClassNotFoundException cannotHappen) { + } catch (java.io.IOException | ClassNotFoundException cannotHappen) { } return clone; @@ -1050,7 +1047,7 @@ public class TreeMap } public Spliterator spliterator() { - return new ValueSpliterator(TreeMap.this, null, null, 0, -1, 0); + return new ValueSpliterator<>(TreeMap.this, null, null, 0, -1, 0); } } @@ -1090,7 +1087,7 @@ public class TreeMap } public Spliterator> spliterator() { - return new EntrySpliterator(TreeMap.this, null, null, 0, -1, 0); + return new EntrySpliterator<>(TreeMap.this, null, null, 0, -1, 0); } } @@ -2427,8 +2424,7 @@ public class TreeMap s.writeInt(size); // Write out keys and values (alternating) - for (Iterator> i = entrySet().iterator(); i.hasNext(); ) { - Map.Entry e = i.next(); + for (Map.Entry e : entrySet()) { s.writeObject(e.getKey()); s.writeObject(e.getValue()); } @@ -2459,8 +2455,7 @@ public class TreeMap void addAllForTreeSet(SortedSet set, V defaultVal) { try { buildFromSorted(set.size(), set.iterator(), null, defaultVal); - } catch (java.io.IOException cannotHappen) { - } catch (ClassNotFoundException cannotHappen) { + } catch (java.io.IOException | ClassNotFoundException cannotHappen) { } } @@ -2631,11 +2626,11 @@ public class TreeMap } final Spliterator keySpliterator() { - return new KeySpliterator(this, null, null, 0, -1, 0); + return new KeySpliterator<>(this, null, null, 0, -1, 0); } final Spliterator descendingKeySpliterator() { - return new DescendingKeySpliterator(this, null, null, 0, -2, 0); + return new DescendingKeySpliterator<>(this, null, null, 0, -2, 0); } /** diff --git a/jdk/src/share/classes/java/util/TreeSet.java b/jdk/src/share/classes/java/util/TreeSet.java index 131de860f57..821b42fcc70 100644 --- a/jdk/src/share/classes/java/util/TreeSet.java +++ b/jdk/src/share/classes/java/util/TreeSet.java @@ -121,7 +121,7 @@ public class TreeSet extends AbstractSet * {@code ClassCastException}. */ public TreeSet() { - this(new TreeMap()); + this(new TreeMap<>()); } /** diff --git a/jdk/src/share/classes/java/util/Vector.java b/jdk/src/share/classes/java/util/Vector.java index ef6540e59b0..5fd887a2d50 100644 --- a/jdk/src/share/classes/java/util/Vector.java +++ b/jdk/src/share/classes/java/util/Vector.java @@ -1374,8 +1374,8 @@ public class Vector public Spliterator trySplit() { int hi = getFence(), lo = index, mid = (lo + hi) >>> 1; return (lo >= mid) ? null : - new VectorSpliterator(list, array, lo, index = mid, - expectedModCount); + new VectorSpliterator<>(list, array, lo, index = mid, + expectedModCount); } @SuppressWarnings("unchecked") diff --git a/jdk/src/share/classes/java/util/WeakHashMap.java b/jdk/src/share/classes/java/util/WeakHashMap.java index 81f74be8e9e..270c2d9c2bd 100644 --- a/jdk/src/share/classes/java/util/WeakHashMap.java +++ b/jdk/src/share/classes/java/util/WeakHashMap.java @@ -1097,8 +1097,8 @@ public class WeakHashMap public KeySpliterator trySplit() { int hi = getFence(), lo = index, mid = (lo + hi) >>> 1; return (lo >= mid) ? null : - new KeySpliterator(map, lo, index = mid, est >>>= 1, - expectedModCount); + new KeySpliterator<>(map, lo, index = mid, est >>>= 1, + expectedModCount); } public void forEachRemaining(Consumer action) { @@ -1177,8 +1177,8 @@ public class WeakHashMap public ValueSpliterator trySplit() { int hi = getFence(), lo = index, mid = (lo + hi) >>> 1; return (lo >= mid) ? null : - new ValueSpliterator(map, lo, index = mid, est >>>= 1, - expectedModCount); + new ValueSpliterator<>(map, lo, index = mid, est >>>= 1, + expectedModCount); } public void forEachRemaining(Consumer action) { @@ -1254,8 +1254,8 @@ public class WeakHashMap public EntrySpliterator trySplit() { int hi = getFence(), lo = index, mid = (lo + hi) >>> 1; return (lo >= mid) ? null : - new EntrySpliterator(map, lo, index = mid, est >>>= 1, - expectedModCount); + new EntrySpliterator<>(map, lo, index = mid, est >>>= 1, + expectedModCount); } @@ -1286,7 +1286,7 @@ public class WeakHashMap @SuppressWarnings("unchecked") K k = (K) WeakHashMap.unmaskNull(x); action.accept - (new AbstractMap.SimpleImmutableEntry(k, v)); + (new AbstractMap.SimpleImmutableEntry<>(k, v)); } } } while (p != null || i < hi); @@ -1312,7 +1312,7 @@ public class WeakHashMap @SuppressWarnings("unchecked") K k = (K) WeakHashMap.unmaskNull(x); action.accept - (new AbstractMap.SimpleImmutableEntry(k, v)); + (new AbstractMap.SimpleImmutableEntry<>(k, v)); if (map.modCount != expectedModCount) throw new ConcurrentModificationException(); return true; diff --git a/jdk/src/share/classes/java/util/jar/Attributes.java b/jdk/src/share/classes/java/util/jar/Attributes.java index 026b2a88eb0..37efbd47481 100644 --- a/jdk/src/share/classes/java/util/jar/Attributes.java +++ b/jdk/src/share/classes/java/util/jar/Attributes.java @@ -296,24 +296,22 @@ public class Attributes implements Map, Cloneable { * XXX Need to handle UTF8 values and break up lines longer than 72 bytes */ void write(DataOutputStream os) throws IOException { - Iterator> it = entrySet().iterator(); - while (it.hasNext()) { - Map.Entry e = it.next(); - StringBuffer buffer = new StringBuffer( - ((Name)e.getKey()).toString()); - buffer.append(": "); + for (Entry e : entrySet()) { + StringBuffer buffer = new StringBuffer( + ((Name) e.getKey()).toString()); + buffer.append(": "); - String value = (String)e.getValue(); - if (value != null) { - byte[] vb = value.getBytes("UTF8"); - value = new String(vb, 0, 0, vb.length); - } - buffer.append(value); + String value = (String) e.getValue(); + if (value != null) { + byte[] vb = value.getBytes("UTF8"); + value = new String(vb, 0, 0, vb.length); + } + buffer.append(value); - buffer.append("\r\n"); - Manifest.make72Safe(buffer); - os.writeBytes(buffer.toString()); - } + buffer.append("\r\n"); + Manifest.make72Safe(buffer); + os.writeBytes(buffer.toString()); + } os.writeBytes("\r\n"); } @@ -340,16 +338,14 @@ public class Attributes implements Map, Cloneable { // write out all attributes except for the version // we wrote out earlier - Iterator> it = entrySet().iterator(); - while (it.hasNext()) { - Map.Entry e = it.next(); - String name = ((Name)e.getKey()).toString(); - if ((version != null) && ! (name.equalsIgnoreCase(vername))) { + for (Entry e : entrySet()) { + String name = ((Name) e.getKey()).toString(); + if ((version != null) && !(name.equalsIgnoreCase(vername))) { StringBuffer buffer = new StringBuffer(name); buffer.append(": "); - String value = (String)e.getValue(); + String value = (String) e.getValue(); if (value != null) { byte[] vb = value.getBytes("UTF8"); value = new String(vb, 0, 0, vb.length); diff --git a/jdk/src/share/classes/java/util/jar/JarFile.java b/jdk/src/share/classes/java/util/jar/JarFile.java index 2d5d5861dd4..6e0a270470d 100644 --- a/jdk/src/share/classes/java/util/jar/JarFile.java +++ b/jdk/src/share/classes/java/util/jar/JarFile.java @@ -324,8 +324,8 @@ class JarFile extends ZipFile { if (verify) { String[] names = getMetaInfEntryNames(); if (names != null) { - for (int i = 0; i < names.length; i++) { - String name = names[i].toUpperCase(Locale.ENGLISH); + for (String nameLower : names) { + String name = nameLower.toUpperCase(Locale.ENGLISH); if (name.endsWith(".DSA") || name.endsWith(".RSA") || name.endsWith(".EC") || @@ -356,8 +356,8 @@ class JarFile extends ZipFile { try { String[] names = getMetaInfEntryNames(); if (names != null) { - for (int i = 0; i < names.length; i++) { - JarEntry e = getJarEntry(names[i]); + for (String name : names) { + JarEntry e = getJarEntry(name); if (e == null) { throw new JarException("corrupted jar file"); } @@ -487,10 +487,9 @@ class JarFile extends ZipFile { // entries to find a match. String[] names = getMetaInfEntryNames(); if (names != null) { - for (int i = 0; i < names.length; i++) { - if (MANIFEST_NAME.equals( - names[i].toUpperCase(Locale.ENGLISH))) { - manEntry = getJarEntry(names[i]); + for (String name : names) { + if (MANIFEST_NAME.equals(name.toUpperCase(Locale.ENGLISH))) { + manEntry = getJarEntry(name); break; } } @@ -580,11 +579,10 @@ class JarFile extends ZipFile { } String name = getName(); - String localJavaHome = javaHome; - if (name.startsWith(localJavaHome)) { + if (name.startsWith(javaHome)) { String[] names = jarNames; - for (int i = 0; i < names.length; i++) { - if (name.endsWith(names[i])) { + for (String jarName : names) { + if (name.endsWith(jarName)) { return true; } } @@ -619,8 +617,8 @@ class JarFile extends ZipFile { * code source? */ boolean includeUnsigned = false; - for (int i = 0; i < cs.length; i++) { - if (cs[i].getCodeSigners() == null) { + for (CodeSource c : cs) { + if (c.getCodeSigners() == null) { includeUnsigned = true; break; } @@ -776,6 +774,6 @@ class JarFile extends ZipFile { if (jv != null) { return jv.getManifestDigests(); } - return new ArrayList(); + return new ArrayList<>(); } } diff --git a/jdk/src/share/classes/java/util/jar/JarVerifier.java b/jdk/src/share/classes/java/util/jar/JarVerifier.java index 30459e54324..ef1a26a6f45 100644 --- a/jdk/src/share/classes/java/util/jar/JarVerifier.java +++ b/jdk/src/share/classes/java/util/jar/JarVerifier.java @@ -258,9 +258,7 @@ class JarVerifier { sigFileData.put(key, bytes); // check pending blocks, we can now process // anyone waiting for this .SF file - Iterator it = pendingBlocks.iterator(); - while (it.hasNext()) { - SignatureFileVerifier sfv = it.next(); + for (SignatureFileVerifier sfv : pendingBlocks) { if (sfv.needSignatureFile(key)) { if (debug != null) { debug.println( @@ -313,18 +311,9 @@ class JarVerifier { } sfv.process(sigFileSigners, manifestDigests); - } catch (IOException ioe) { - // e.g. sun.security.pkcs.ParsingException - if (debug != null) debug.println("processEntry caught: "+ioe); - // ignore and treat as unsigned - } catch (SignatureException se) { - if (debug != null) debug.println("processEntry caught: "+se); - // ignore and treat as unsigned - } catch (NoSuchAlgorithmException nsae) { - if (debug != null) debug.println("processEntry caught: "+nsae); - // ignore and treat as unsigned - } catch (CertificateException ce) { - if (debug != null) debug.println("processEntry caught: "+ce); + } catch (IOException | CertificateException | + NoSuchAlgorithmException | SignatureException e) { + if (debug != null) debug.println("processEntry caught: "+e); // ignore and treat as unsigned } } @@ -387,9 +376,9 @@ class JarVerifier { if (signers != null) { ArrayList certChains = new ArrayList<>(); - for (int i = 0; i < signers.length; i++) { + for (CodeSigner signer : signers) { certChains.addAll( - signers[i].getSignerCertPath().getCertificates()); + signer.getSignerCertPath().getCertificates()); } // Convert into a Certificate[] @@ -536,8 +525,8 @@ class JarVerifier { private CodeSource[] mapSignersToCodeSources(URL url, List signers, boolean unsigned) { List sources = new ArrayList<>(); - for (int i = 0; i < signers.size(); i++) { - sources.add(mapSignersToCodeSource(url, signers.get(i))); + for (CodeSigner[] signer : signers) { + sources.add(mapSignersToCodeSource(url, signer)); } if (unsigned) { sources.add(mapSignersToCodeSource(url, null)); @@ -563,8 +552,8 @@ class JarVerifier { */ CodeSource[] sources = mapSignersToCodeSources(cs.getLocation(), getJarCodeSigners(), true); List sourceList = new ArrayList<>(); - for (int i = 0; i < sources.length; i++) { - sourceList.add(sources[i]); + for (CodeSource source : sources) { + sourceList.add(source); } int j = sourceList.indexOf(cs); if (j != -1) { @@ -677,8 +666,8 @@ class JarVerifier { * to see if we can optimize CodeSigner equality test. */ List req = new ArrayList<>(cs.length); - for (int i = 0; i < cs.length; i++) { - CodeSigner[] match = findMatchingSigners(cs[i]); + for (CodeSource c : cs) { + CodeSigner[] match = findMatchingSigners(c); if (match != null) { if (match.length > 0) { req.add(match); diff --git a/jdk/src/share/classes/java/util/jar/Manifest.java b/jdk/src/share/classes/java/util/jar/Manifest.java index 4e7da2ae853..7646978e3d6 100644 --- a/jdk/src/share/classes/java/util/jar/Manifest.java +++ b/jdk/src/share/classes/java/util/jar/Manifest.java @@ -148,9 +148,7 @@ public class Manifest implements Cloneable { // Write out the main attributes for the manifest attr.writeMain(dos); // Now write out the pre-entry attributes - Iterator> it = entries.entrySet().iterator(); - while (it.hasNext()) { - Map.Entry e = it.next(); + for (Map.Entry e : entries.entrySet()) { StringBuffer buffer = new StringBuffer("Name: "); String value = e.getKey(); if (value != null) { diff --git a/jdk/src/share/classes/java/util/logging/LogManager.java b/jdk/src/share/classes/java/util/logging/LogManager.java index 793a313967b..bef31ad6e52 100644 --- a/jdk/src/share/classes/java/util/logging/LogManager.java +++ b/jdk/src/share/classes/java/util/logging/LogManager.java @@ -851,8 +851,7 @@ public class LogManager { @Override public Object run() { String names[] = parseClassNames(handlersPropertyName); - for (int i = 0; i < names.length; i++) { - String word = names[i]; + for (String word : names) { try { Class clz = ClassLoader.getSystemClassLoader().loadClass(word); Handler hdl = (Handler) clz.newInstance(); @@ -1231,8 +1230,7 @@ public class LogManager { private void resetLogger(Logger logger) { // Close all the Logger's handlers. Handler[] targets = logger.getHandlers(); - for (int i = 0; i < targets.length; i++) { - Handler h = targets[i]; + for (Handler h : targets) { logger.removeHandler(h); try { h.close(); @@ -1302,8 +1300,7 @@ public class LogManager { // Instantiate new configuration objects. String names[] = parseClassNames("config"); - for (int i = 0; i < names.length; i++) { - String word = names[i]; + for (String word : names) { try { Class clz = ClassLoader.getSystemClassLoader().loadClass(word); clz.newInstance(); @@ -1489,9 +1486,7 @@ public class LogManager { if (children == null) { return; } - Iterator values = children.values().iterator(); - while (values.hasNext()) { - LogNode node = values.next(); + for (LogNode node : children.values()) { LoggerWeakRef ref = node.loggerRef; Logger logger = (ref == null) ? null : ref.get(); if (logger == null) { diff --git a/jdk/src/share/classes/java/util/logging/LogRecord.java b/jdk/src/share/classes/java/util/logging/LogRecord.java index 50444f1cd8a..bfc05201ebc 100644 --- a/jdk/src/share/classes/java/util/logging/LogRecord.java +++ b/jdk/src/share/classes/java/util/logging/LogRecord.java @@ -481,12 +481,8 @@ public class LogRecord implements java.io.Serializable { } out.writeInt(parameters.length); // Write string values for the parameters. - for (int i = 0; i < parameters.length; i++) { - if (parameters[i] == null) { - out.writeObject(null); - } else { - out.writeObject(parameters[i].toString()); - } + for (Object parameter : parameters) { + out.writeObject(Objects.toString(parameter, null)); } } diff --git a/jdk/src/share/classes/java/util/logging/Logger.java b/jdk/src/share/classes/java/util/logging/Logger.java index 21d6e393e05..662c7185991 100644 --- a/jdk/src/share/classes/java/util/logging/Logger.java +++ b/jdk/src/share/classes/java/util/logging/Logger.java @@ -2108,9 +2108,8 @@ public class Logger { // Recursively update the level on each of our kids. if (kids != null) { - for (int i = 0; i < kids.size(); i++) { - LogManager.LoggerWeakRef ref = kids.get(i); - Logger kid = ref.get(); + for (LogManager.LoggerWeakRef ref : kids) { + Logger kid = ref.get(); if (kid != null) { kid.updateEffectiveLevel(); } diff --git a/jdk/src/share/classes/java/util/logging/XMLFormatter.java b/jdk/src/share/classes/java/util/logging/XMLFormatter.java index 34c61c48bb1..fc1ccabf159 100644 --- a/jdk/src/share/classes/java/util/logging/XMLFormatter.java +++ b/jdk/src/share/classes/java/util/logging/XMLFormatter.java @@ -173,12 +173,12 @@ public class XMLFormatter extends Formatter { Object parameters[] = record.getParameters(); // Check to see if the parameter was not a messagetext format // or was not null or empty - if ( parameters != null && parameters.length != 0 + if (parameters != null && parameters.length != 0 && record.getMessage().indexOf("{") == -1 ) { - for (int i = 0; i < parameters.length; i++) { + for (Object parameter : parameters) { sb.append(" "); try { - escape(sb, parameters[i].toString()); + escape(sb, parameter.toString()); } catch (Exception ex) { sb.append("???"); } @@ -194,8 +194,7 @@ public class XMLFormatter extends Formatter { escape(sb, th.toString()); sb.append("\n"); StackTraceElement trace[] = th.getStackTrace(); - for (int i = 0; i < trace.length; i++) { - StackTraceElement frame = trace[i]; + for (StackTraceElement frame : trace) { sb.append(" \n"); sb.append(" "); escape(sb, frame.getClassName()); diff --git a/jdk/src/share/classes/java/util/prefs/AbstractPreferences.java b/jdk/src/share/classes/java/util/prefs/AbstractPreferences.java index 31c35d7fa46..a840dffab95 100644 --- a/jdk/src/share/classes/java/util/prefs/AbstractPreferences.java +++ b/jdk/src/share/classes/java/util/prefs/AbstractPreferences.java @@ -334,9 +334,8 @@ public abstract class AbstractPreferences extends Preferences { */ public void clear() throws BackingStoreException { synchronized(lock) { - String[] keys = keys(); - for (int i=0; i i = kidCache.values().iterator(); @@ -1257,9 +1256,9 @@ public abstract class AbstractPreferences extends Preferences { synchronized(lock) { // assert kidCache.get(nodeName)==null; String[] kidNames = childrenNames(); - for (int i=0; i> i = map.entrySet().iterator(); i.hasNext(); ) { - Map.Entry e = i.next(); + for (Map.Entry e : map.entrySet()) { Element xe = (Element) xmlMap.appendChild(doc.createElement("entry")); xe.setAttribute("key", e.getKey()); diff --git a/jdk/src/share/classes/java/util/regex/Pattern.java b/jdk/src/share/classes/java/util/regex/Pattern.java index b5578b6a918..b7d780b540e 100644 --- a/jdk/src/share/classes/java/util/regex/Pattern.java +++ b/jdk/src/share/classes/java/util/regex/Pattern.java @@ -1545,8 +1545,8 @@ loop: for(int x=0, offset=0; x, " - + "value=<" + value + ">}"); + switch (name) { + case "sc": + case "script": + node = unicodeScriptPropertyFor(value); + break; + case "blk": + case "block": + node = unicodeBlockPropertyFor(value); + break; + case "gc": + case "general_category": + node = charPropertyNodeFor(value); + break; + default: + throw error("Unknown Unicode property {name=<" + name + ">, " + + "value=<" + value + ">}"); } } else { if (name.startsWith("In")) { @@ -5497,8 +5504,8 @@ NEXT: while (i <= last) { BnMS(int[] src, int[] lastOcc, int[] optoSft, Node next) { super(src, lastOcc, optoSft, next); - for (int x = 0; x < buffer.length; x++) { - lengthInChars += Character.charCount(buffer[x]); + for (int cp : buffer) { + lengthInChars += Character.charCount(cp); } } boolean match(Matcher matcher, int i, CharSequence seq) { diff --git a/jdk/src/share/classes/java/util/stream/SortedOps.java b/jdk/src/share/classes/java/util/stream/SortedOps.java index 8dcabb49145..39e8092e7e8 100644 --- a/jdk/src/share/classes/java/util/stream/SortedOps.java +++ b/jdk/src/share/classes/java/util/stream/SortedOps.java @@ -329,7 +329,7 @@ final class SortedOps { public void begin(long size) { if (size >= Nodes.MAX_ARRAY_SIZE) throw new IllegalArgumentException(Nodes.BAD_SIZE); - list = (size >= 0) ? new ArrayList((int) size) : new ArrayList(); + list = (size >= 0) ? new ArrayList<>((int) size) : new ArrayList<>(); } @Override