Author: peter_firmstone Date: Mon Apr 1 09:23:18 2013 New Revision: 1463118
URL: http://svn.apache.org/r1463118 Log: Performance enhancement,eliminate calls to String.length() during for loop. Modified: river/jtsk/skunk/qa_refactor/trunk/src/org/apache/river/api/net/URIEncoderDecoder.java Modified: river/jtsk/skunk/qa_refactor/trunk/src/org/apache/river/api/net/URIEncoderDecoder.java URL: http://svn.apache.org/viewvc/river/jtsk/skunk/qa_refactor/trunk/src/org/apache/river/api/net/URIEncoderDecoder.java?rev=1463118&r1=1463117&r2=1463118&view=diff ============================================================================== --- river/jtsk/skunk/qa_refactor/trunk/src/org/apache/river/api/net/URIEncoderDecoder.java (original) +++ river/jtsk/skunk/qa_refactor/trunk/src/org/apache/river/api/net/URIEncoderDecoder.java Mon Apr 1 09:23:18 2013 @@ -227,12 +227,13 @@ class URIEncoderDecoder { StringBuilder result = new StringBuilder(); ByteArrayOutputStream out = new ByteArrayOutputStream(); - for (int i = 0; i < s.length();) { + int l = s.length(); + for (int i = 0; i < l;) { char c = s.charAt(i); if (c == '%') { out.reset(); do { - if (i + 2 >= s.length()) { + if (i + 2 >= l) { throw new IllegalArgumentException(Messages.getString( "luni.80", i)); //$NON-NLS-1$ } @@ -245,7 +246,7 @@ class URIEncoderDecoder { } out.write((byte) ((d1 << 4) + d2)); i += 3; - } while (i < s.length() && s.charAt(i) == '%'); + } while (i < l && s.charAt(i) == '%'); result.append(out.toString(encoding)); continue; }
