< prev index next >

src/java.base/share/classes/sun/util/cldr/CLDRCalendarDataProviderImpl.java

Print this page
rev 48845 : 8197829: Optimize CLDRCalendarDataProviderImpl::retrieveInteger
Reviewed-by: naoto

@@ -95,12 +95,13 @@
 
         return val;
     }
 
     private static Optional<Integer> retrieveInteger(String src, String region) {
-        return Arrays.stream(src.split(";"))
-            .filter(entry -> entry.contains(region))
-            .map(entry -> entry.substring(0, entry.indexOf(":")))
-            .findAny()
-            .map(Integer::parseInt);
+        int regionIndex = src.indexOf(region);
+        if (regionIndex >= 0) {
+            int start = src.lastIndexOf(';', regionIndex) + 1;
+            return Optional.of(Integer.parseInt(src, start, src.indexOf(':', start), 10));
+        }
+        return Optional.empty();
     }
 }
< prev index next >