src/share/classes/java/sql/Time.java

Print this page
rev 10459 : 8055055: Improve numeric parsing in java.sql

@@ -98,16 +98,15 @@
 
         if (s == null) throw new java.lang.IllegalArgumentException();
 
         firstColon = s.indexOf(':');
         secondColon = s.indexOf(':', firstColon+1);
-        if ((firstColon > 0) & (secondColon > 0) &
-            (secondColon < s.length()-1)) {
-            hour = Integer.parseInt(s.substring(0, firstColon));
-            minute =
-                Integer.parseInt(s.substring(firstColon+1, secondColon));
-            second = Integer.parseInt(s.substring(secondColon+1));
+        if (firstColon > 0 && secondColon > 0 &&
+                secondColon < s.length() - 1) {
+            hour = Integer.parseInt(s, 10, 0, firstColon);
+            minute = Integer.parseInt(s, 10, firstColon + 1, secondColon);
+            second = Integer.parseInt(s, 10, secondColon + 1);
         } else {
             throw new java.lang.IllegalArgumentException();
         }
 
         return new Time(hour, minute, second);