inefficient indexof when String has one length (original) (raw)

Claes Redestad claes.redestad at oracle.com
Sun Apr 27 12:22:19 UTC 2014


Possibly a few bytes in static class footprint, sure. Maybe this is something javac should optimize (javap on some trivial examples suggests this doesn't happen) rather than trying to root out all suboptimal cases, especially since there are bound to be a lot more code out there using similar patterns?

/Claes

On 2014-04-27 14:04, David Holmes wrote:

There is also a slight reduction in memory pressure due to not creating a bunch of one character string literals.

David On 27/04/2014 3:13 AM, Claes Redestad wrote: Hi Otávio,

while I personally like using chars instead of Strings where applicable, I would assume these constant replacements are all cases where the JIT will be quick to inline and eliminate the overhead. So the benefit, if any, would be in interpreted code. Testing these assumptions with a simple but representative JMH[1] microbenchmark[2]: Benchmark Mode Samples Mean Mean error Units o.s.MyBenchmark.indexOfChar thrpt 20 32290.764 359.347 ops/ms o.s.MyBenchmark.indexOfString thrpt 20 32353.865 398.929 ops/ms o.s.MyBenchmark.lastIndexOfChar thrpt 20 32444.428 462.630 ops/ms o.s.MyBenchmark.lastIndexOfString thrpt 20 32001.738 388.791 ops/ms So no real difference, as suspected. Running with -Xint: Benchmark Mode Samples Mean Mean error Units o.s.MyBenchmark.indexOfChar thrpt 20 3170.130 108.933 ops/ms o.s.MyBenchmark.indexOfString thrpt 20 3119.518 44.703 ops/ms o.s.MyBenchmark.lastIndexOfChar thrpt 20 3281.374 25.589 ops/ms o.s.MyBenchmark.lastIndexOfString thrpt 20 3154.710 45.224 ops/ms Not much - if anything - here either. I think more evidence that this would have some actual benefit is warranted. /Claes [1] http://openjdk.java.net/projects/code-tools/jmh/ [2] package org.sample; import org.openjdk.jmh.annotations.*; import java.util.Random; @State(Scope.Thread) public class MyBenchmark { /* * Generate a lot of randomly generated strings of various sizes */ static int NUM = 100000; static int MAXSIZE = 1000; static String[] STRINGS = new String[NUM]; static { Random r = new Random(); for (int i = 0; i < NUM; i++) {_ _StringBuilder sb = new StringBuilder(r.nextInt(MAXSIZE)_ _+ 1);_ _for (int j = 0; j < sb.capacity(); j++) {_ _sb.append((char)(r.nextInt(70) + '0'));_ _}_ _STRINGS[i] = sb.toString();_ _}_ _}_ _private int i = 0;_ _@GenerateMicroBenchmark_ _public int indexOfString() {_ _if (i >= NUM) { i = 0; } return STRINGS[i++].indexOf("6"); } @GenerateMicroBenchmark public int lastIndexOfString() { if (i >= NUM) { i = 0; } return STRINGS[i++].indexOf("6"); } @GenerateMicroBenchmark public int indexOfChar() { if (i >= NUM) { i = 0; } return STRINGS[i++].indexOf('6'); } @GenerateMicroBenchmark public int lastIndexOfChar() { if (i >= NUM) { i = 0; } return STRINGS[i++].indexOf('6'); } } On 2014-04-26 12:56, Otávio Gonçalves de Santana wrote: When a String has length just one, could be replaced by equivalent character literals, gaining some performance enhancement.

I found 107 changes.

diff -r e323c74edabd src/share/classes/com/sun/java/swing/plaf/gtk/Metacity.java --- a/src/share/classes/com/sun/java/swing/plaf/gtk/Metacity.java Wed Apr 23 11:35:40 2014 -0700 +++ b/src/share/classes/com/sun/java/swing/plaf/gtk/Metacity.java Sat Apr 26 07:31:04 2014 -0300 @@ -547,7 +547,7 @@ i = strLowerCase.indexOf("", i); if (i > 0) { i += "".length(); - int i2 = str.indexOf("<", i);_ _+ int i2 = str.indexOf('<', i);_ _return str.substring(i, i2);_ _}_ _}_ _diff -r e323c74edabd_ _src/share/classes/com/sun/java/util/jar/pack/ConstantPool.java_ _--- a/src/share/classes/com/sun/java/util/jar/pack/ConstantPool.java_ _Wed_ _Apr 23 11:35:40 2014 -0700_ _+++ b/src/share/classes/com/sun/java/util/jar/pack/ConstantPool.java_ _Sat_ _Apr 26 07:31:04 2014 -0300_ _@@ -512,7 +512,7 @@_ _}_ _static String qualifiedStringValue(String s1, String s234) {_ _// Qualification by dot must decompose uniquely. Second_ _string_ _might already be qualified._ _- assert(s1.indexOf(".") < 0);_ _+ assert(s1.indexOf('.') < 0);_ _return s1+"."+s234;_ _}_ _diff -r e323c74edabd_ _src/share/classes/com/sun/jndi/cosnaming/CorbanameUrl.java_ _--- a/src/share/classes/com/sun/jndi/cosnaming/CorbanameUrl.java Wed_ _Apr 23_ _11:35:40 2014 -0700_ _+++ b/src/share/classes/com/sun/jndi/cosnaming/CorbanameUrl.java Sat_ _Apr 26_ _07:31:04 2014 -0300_ _@@ -102,7 +102,7 @@_ _}_ _location = url.substring(addrStart, addrEnd);_ _- int keyStart = location.indexOf("/");_ _+ int keyStart = location.indexOf('/');_ _if (keyStart >= 0) { // Has key string if (keyStart == (location.length() -1)) { diff -r e323c74edabd src/share/classes/com/sun/jndi/rmi/registry/RegistryContext.java --- a/src/share/classes/com/sun/jndi/rmi/registry/RegistryContext.java Wed Apr 23 11:35:40 2014 -0700 +++ b/src/share/classes/com/sun/jndi/rmi/registry/RegistryContext.java Sat Apr 26 07:31:04 2014 -0300 @@ -336,7 +336,7 @@ String url = "rmi://"; // Enclose IPv6 literal address in '[' and ']' - url = (host.indexOf(":") > -1) ? url + "[" + host + "]" : + url = (host.indexOf(':') > -1) ? url + "[" + host + "]" : url + host; if (port > 0) { url += ":" + Integer.toString(port); diff -r e323c74edabd src/share/classes/com/sun/jndi/toolkit/url/GenericURLContext.java --- a/src/share/classes/com/sun/jndi/toolkit/url/GenericURLContext.java Wed Apr 23 11:35:40 2014 -0700 +++ b/src/share/classes/com/sun/jndi/toolkit/url/GenericURLContext.java Sat Apr 26 07:31:04 2014 -0300 @@ -149,7 +149,7 @@ * foo:rest/of/name foo: */ protected String getURLPrefix(String url) throws NamingException { - int start = url.indexOf(":"); + int start = url.indexOf(':'); if (start < 0) {_ _throw new OperationNotSupportedException("Invalid URL:_ _" +_ _url);_ _@@ -160,7 +160,7 @@_ _start += 2; // skip double slash_ _// find last slash_ _- int posn = url.indexOf("/", start);_ _+ int posn = url.indexOf('/', start);_ _if (posn >= 0) { start = posn; } else { diff -r e323c74edabd src/share/classes/com/sun/rmi/rmid/ExecOptionPermission.java --- a/src/share/classes/com/sun/rmi/rmid/ExecOptionPermission.java Wed Apr 23 11:35:40 2014 -0700 +++ b/src/share/classes/com/sun/rmi/rmid/ExecOptionPermission.java Sat Apr 26 07:31:04 2014 -0300 @@ -303,7 +303,7 @@ offset = pname.length() - 1; - while ((last = pname.lastIndexOf(".", offset)) != -1) { + while ((last = pname.lastIndexOf('.', offset)) != -1) { pname = pname.substring(0, last+1) + "*"; x = permissions.get(pname); @@ -318,7 +318,7 @@ pname = p.getName(); offset = pname.length() - 1; - while ((last = pname.lastIndexOf("=", offset)) != -1) { + while ((last = pname.lastIndexOf('=', offset)) != -1) { pname = pname.substring(0, last+1) + "*"; x = permissions.get(pname); diff -r e323c74edabd src/share/classes/com/sun/rowset/CachedRowSetImpl.java --- a/src/share/classes/com/sun/rowset/CachedRowSetImpl.java Wed Apr 23 11:35:40 2014 -0700 +++ b/src/share/classes/com/sun/rowset/CachedRowSetImpl.java Sat Apr 26 07:31:04 2014 -0300 @@ -6831,7 +6831,7 @@ // table name else isolate table name. indexFrom = command.toLowerCase().indexOf("from"); - indexComma = command.indexOf(",", indexFrom); + indexComma = command.indexOf(',', indexFrom); if(indexComma == -1) { // implies only one table diff -r e323c74edabd src/share/classes/com/sun/rowset/JoinRowSetImpl.java --- a/src/share/classes/com/sun/rowset/JoinRowSetImpl.java Wed Apr 23 11:35:40 2014 -0700 +++ b/src/share/classes/com/sun/rowset/JoinRowSetImpl.java Sat Apr 26 07:31:04 2014 -0300 @@ -910,7 +910,7 @@ // now remove the last "," strWhereClause = strWhereClause.substring - (0, strWhereClause.lastIndexOf(",")); + (0, strWhereClause.lastIndexOf(',')); // Add from clause strWhereClause = strWhereClause.concat(" from "); @@ -920,7 +920,7 @@ //Remove the last "," strWhereClause = strWhereClause.substring - (0, strWhereClause.lastIndexOf(",")); + (0, strWhereClause.lastIndexOf(',')); // Add the where clause strWhereClause = strWhereClause.concat(" where "); diff -r e323c74edabd src/share/classes/com/sun/rowset/internal/WebRowSetXmlWriter.java --- a/src/share/classes/com/sun/rowset/internal/WebRowSetXmlWriter.java Wed Apr 23 11:35:40 2014 -0700 +++ b/src/share/classes/com/sun/rowset/internal/WebRowSetXmlWriter.java Sat Apr 26 07:31:04 2014 -0300 @@ -240,7 +240,7 @@ // Remove the string after "@xxxx" // before writing it to the xml file. String strProviderInstance = (caller.getSyncProvider()).toString(); - String strProvider = strProviderInstance.substring(0, (caller.getSyncProvider()).toString().indexOf("@")); + String strProvider = strProviderInstance.substring(0, (caller.getSyncProvider()).toString().indexOf('@')); propString("sync-provider-name", strProvider); propString("sync-provider-vendor", "Oracle Corporation"); diff -r e323c74edabd src/share/classes/com/sun/rowset/internal/XmlReaderContentHandler.java --- a/src/share/classes/com/sun/rowset/internal/XmlReaderContentHandler.java Wed Apr 23 11:35:40 2014 -0700 +++ b/src/share/classes/com/sun/rowset/internal/XmlReaderContentHandler.java Sat Apr 26 07:31:04 2014 -0300 @@ -1147,7 +1147,7 @@ if (nullValue) { rs.setSyncProvider(null); } else { - String str = s.substring(0,s.indexOf("@")+1); + String str = s.substring(0,s.indexOf('@')+1); rs.setSyncProvider(str); } break; diff -r e323c74edabd src/share/classes/com/sun/rowset/internal/XmlResolver.java --- a/src/share/classes/com/sun/rowset/internal/XmlResolver.java Wed Apr 23 11:35:40 2014 -0700 +++ b/src/share/classes/com/sun/rowset/internal/XmlResolver.java Sat Apr 26 07:31:04 2014 -0300 @@ -39,7 +39,7 @@ public class XmlResolver implements EntityResolver { public InputSource resolveEntity(String publicId, String systemId) { - String schemaName = systemId.substring(systemId.lastIndexOf("/")); + String schemaName = systemId.substring(systemId.lastIndexOf('/')); if(systemId.startsWith("http://java.sun.com/xml/ns/jdbc")) { return new InputSource(this.getClass().getResourceAsStream(schemaName)); diff -r e323c74edabd src/share/classes/com/sun/security/auth/module/JndiLoginModule.java --- a/src/share/classes/com/sun/security/auth/module/JndiLoginModule.java Wed Apr 23 11:35:40 2014 -0700 +++ b/src/share/classes/com/sun/security/auth/module/JndiLoginModule.java Sat Apr 26 07:31:04 2014 -0300 @@ -694,7 +694,7 @@ throw new LoginException("Error: no CallbackHandler available " + "to garner authentication information from the user"); - String protocol = userProvider.substring(0, userProvider.indexOf(":")); + String protocol = userProvider.substring(0, userProvider.indexOf(':')); Callback[] callbacks = new Callback[2]; callbacks[0] = new NameCallback(protocol + " " diff -r e323c74edabd src/share/classes/com/sun/security/auth/module/LdapLoginModule.java --- a/src/share/classes/com/sun/security/auth/module/LdapLoginModule.java Wed Apr 23 11:35:40 2014 -0700 +++ b/src/share/classes/com/sun/security/auth/module/LdapLoginModule.java Sat Apr 26 07:31:04 2014 -0300 @@ -400,7 +400,7 @@ // Add any JNDI properties to the environment for (String key : options.keySet()) { - if (key.indexOf(".") > -1) { + if (key.indexOf('.') > -1) { ldapEnvironment.put(key, options.get(key)); } } diff -r e323c74edabd src/share/classes/com/sun/tools/example/debug/gui/CommandInterpreter.java --- a/src/share/classes/com/sun/tools/example/debug/gui/CommandInterpreter.java Wed Apr 23 11:35:40 2014 -0700 +++ b/src/share/classes/com/sun/tools/example/debug/gui/CommandInterpreter.java Sat Apr 26 07:31:04 2014 -0300 @@ -857,7 +857,7 @@ bpSpec = runtime.createClassLineBreakpoint(classId, lineNumber); } else { // Try stripping method from class.method token. - int idot = token.lastIndexOf("."); + int idot = token.lastIndexOf('.'); if ( (idot <= 0) || /* No dot or dot in first_ _char_ _/_ _(idot >= token.length() - 1) ) { / dot in last char */ return null; diff -r e323c74edabd src/share/classes/com/sun/tools/example/debug/tty/Commands.java --- a/src/share/classes/com/sun/tools/example/debug/tty/Commands.java Wed Apr 23 11:35:40 2014 -0700 +++ b/src/share/classes/com/sun/tools/example/debug/tty/Commands.java Sat Apr 26 07:31:04 2014 -0300 @@ -1079,7 +1079,7 @@ } } else { // Try stripping method from class.method token. - int idot = token.lastIndexOf("."); + int idot = token.lastIndexOf('.'); if ( (idot <= 0) || /* No dot or_ _dot_ _in first char /_ _(idot >= token.length() - 1) ) { / dot in last char */ printBreakpointCommandUsage(atForm, inForm); diff -r e323c74edabd src/share/classes/com/sun/tools/hat/internal/server/AllClassesQuery.java --- a/src/share/classes/com/sun/tools/hat/internal/server/AllClassesQuery.java Wed Apr 23 11:35:40 2014 -0700 +++ b/src/share/classes/com/sun/tools/hat/internal/server/AllClassesQuery.java Sat Apr 26 07:31:04 2014 -0300 @@ -67,7 +67,7 @@ continue; } String name = clazz.getName(); - int pos = name.lastIndexOf("."); + int pos = name.lastIndexOf('.'); String pkg; if (name.startsWith("[")) { // Only in ancient heap dumps pkg = ""; diff -r e323c74edabd src/share/classes/java/lang/Class.java --- a/src/share/classes/java/lang/Class.java Wed Apr 23 11:35:40 2014 -0700 +++ b/src/share/classes/java/lang/Class.java Sat Apr 26 07:31:04 2014 -0300 @@ -1296,7 +1296,7 @@ String simpleName = getSimpleBinaryName(); if (simpleName == null) { // top level class simpleName = getName(); - return simpleName.substring(simpleName.lastIndexOf(".")+1); // strip the package name + return simpleName.substring(simpleName.lastIndexOf('.')+1); // strip the package name } // According to JLS3 "Binary Compatibility" (13.1) the binary // name of non-package classes (not top level) is the binary diff -r e323c74edabd src/share/classes/java/lang/ClassLoader.java --- a/src/share/classes/java/lang/ClassLoader.java Wed Apr 23 11:35:40 2014 -0700 +++ b/src/share/classes/java/lang/ClassLoader.java Sat Apr 26 07:31:04 2014 -0300 @@ -2136,7 +2136,7 @@ return result.booleanValue(); // Check for most specific package entry - int dotIndex = className.lastIndexOf("."); + int dotIndex = className.lastIndexOf('.'); if (dotIndex < 0) { // default package_ _result = packageAssertionStatus.get(null);_ _if (result != null)_ _@@ -2147,7 +2147,7 @@_ _result = packageAssertionStatus.get(className);_ _if (result != null)_ _return result.booleanValue();_ _- dotIndex = className.lastIndexOf(".", dotIndex-1);_ _+ dotIndex = className.lastIndexOf('.', dotIndex-1);_ _}_ _// Return the classloader default_ _diff -r e323c74edabd_ _src/share/classes/java/lang/invoke/InvokerBytecodeGenerator.java_ _--- a/src/share/classes/java/lang/invoke/InvokerBytecodeGenerator.java_ _Wed_ _Apr 23 11:35:40 2014 -0700_ _+++ b/src/share/classes/java/lang/invoke/InvokerBytecodeGenerator.java_ _Sat_ _Apr 26 07:31:04 2014 -0300_ _@@ -84,7 +84,7 @@_ _private InvokerBytecodeGenerator(LambdaForm lambdaForm, int_ _localsMapSize,_ _String className, String_ _invokerName,_ _MethodType invokerType) {_ _if (invokerName.contains(".")) {_ _- int p = invokerName.indexOf(".");_ _+ int p = invokerName.indexOf('.');_ _className = invokerName.substring(0, p);_ _invokerName = invokerName.substring(p+1);_ _}_ _diff -r e323c74edabd src/share/classes/java/net/CookieManager.java_ _--- a/src/share/classes/java/net/CookieManager.java Wed Apr 23 11:35:40_ _2014 -0700_ _+++ b/src/share/classes/java/net/CookieManager.java Sat Apr 26 07:31:04_ _2014 -0300_ _@@ -294,7 +294,7 @@_ _// the path is the directory of the_ _page/doc_ _String path = uri.getPath();_ _if (!path.endsWith("/")) {_ _- int i = path.lastIndexOf("/");_ _+ int i = path.lastIndexOf('/');_ _if (i > 0) { path = path.substring(0, i + 1); } else { @@ -364,7 +364,7 @@ static private boolean isInPortList(String lst, int port) { - int i = lst.indexOf(","); + int i = lst.indexOf(','); int val = -1; while (i > 0) { try { @@ -375,7 +375,7 @@ } catch (NumberFormatException numberFormatException) { } lst = lst.substring(i+1); - i = lst.indexOf(","); + i = lst.indexOf(','); } if (!lst.isEmpty()) { try { diff -r e323c74edabd src/share/classes/java/net/InetAddress.java --- a/src/share/classes/java/net/InetAddress.java Wed Apr 23 11:35:40 2014 -0700 +++ b/src/share/classes/java/net/InetAddress.java Sat Apr 26 07:31:04 2014 -0300 @@ -1138,7 +1138,7 @@ // This is supposed to be an IPv6 literal // Check if a numeric or string zone id is present int pos; - if ((pos=host.indexOf ("%")) != -1) { + if ((pos=host.indexOf ('%')) != -1) { numericZone = checkNumericZone (host); if (numericZone == -1) { /* remainder of string must be an ifname */ ifname = host.substring (pos+1); diff -r e323c74edabd src/share/classes/java/net/SocketPermission.java --- a/src/share/classes/java/net/SocketPermission.java Wed Apr 23 11:35:40 2014 -0700 +++ b/src/share/classes/java/net/SocketPermission.java Sat Apr 26 07:31:04 2014 -0300 @@ -777,7 +777,7 @@ // Literal IPv6 address host = getName().substring(1, getName().indexOf(']')); } else { - int i = getName().indexOf(":"); + int i = getName().indexOf(':'); if (i == -1) host = getName(); else { diff -r e323c74edabd src/share/classes/java/net/SocksSocketImpl.java --- a/src/share/classes/java/net/SocksSocketImpl.java Wed Apr 23 11:35:40 2014 -0700 +++ b/src/share/classes/java/net/SocksSocketImpl.java Sat Apr 26 07:31:04 2014 -0300 @@ -368,7 +368,7 @@ String host = epoint.getHostString(); // IPv6 litteral? if (epoint.getAddress() instanceof Inet6Address && - (!host.startsWith("[")) && (host.indexOf(":") >= 0)) { + (!host.startsWith("[")) && (host.indexOf(':') >= 0)) { host = "[" + host + "]"; } try { @@ -684,7 +684,7 @@ String host = saddr.getHostString(); // IPv6 litteral? if (saddr.getAddress() instanceof Inet6Address && - (!host.startsWith("[")) && (host.indexOf(":") >= 0)) { + (!host.startsWith("[")) && (host.indexOf(':') >= 0)) { host = "[" + host + "]"; } try { diff -r e323c74edabd src/share/classes/java/net/URI.java --- a/src/share/classes/java/net/URI.java Wed Apr 23 11:35:40 2014 -0700 +++ b/src/share/classes/java/net/URI.java Sat Apr 26 07:31:04 2014 -0300 @@ -1851,9 +1851,9 @@ sb.append("//"); if (authority.startsWith("[")) { // authority should (but may not) contain an embedded IPv6 address - int end = authority.indexOf("]"); + int end = authority.indexOf(']'); String doquote = authority, dontquote = ""; - if (end != -1 && authority.indexOf(":") != -1) { + if (end != -1 && authority.indexOf(':') != -1) { // the authority contains an IPv6 address if (end == authority.length()) { dontquote = authority; @@ -1889,8 +1889,8 @@ * because we must not quote a literal IPv6 address */ if (opaquePart.startsWith("//[")) { - int end = opaquePart.indexOf("]"); - if (end != -1 && opaquePart.indexOf(":")!=-1) { + int end = opaquePart.indexOf(']'); + if (end != -1 && opaquePart.indexOf(':')!=-1) { String doquote, dontquote; if (end == opaquePart.length()) { dontquote = opaquePart; diff -r e323c74edabd src/share/classes/java/security/BasicPermission.java --- a/src/share/classes/java/security/BasicPermission.java Wed Apr 23 11:35:40 2014 -0700 +++ b/src/share/classes/java/security/BasicPermission.java Sat Apr 26 07:31:04 2014 -0300 @@ -430,7 +430,7 @@ offset = path.length()-1; - while ((last = path.lastIndexOf(".", offset)) != -1) { + while ((last = path.lastIndexOf('.', offset)) != -1) { path = path.substring(0, last+1) + "*"; //System.out.println("check "+path); diff -r e323c74edabd src/share/classes/java/security/Provider.java --- a/src/share/classes/java/security/Provider.java Wed Apr 23 11:35:40 2014 -0700 +++ b/src/share/classes/java/security/Provider.java Sat Apr 26 07:31:04 2014 -0300 @@ -927,7 +927,7 @@ } private String[] getTypeAndAlgorithm(String key) { - int i = key.indexOf("."); + int i = key.indexOf('.'); if (i < 1) {_ _if (debug != null) {_ _debug.println("Ignoring invalid entry in provider "_ _diff -r e323c74edabd src/share/classes/java/security/Security.java_ _--- a/src/share/classes/java/security/Security.java Wed Apr 23 11:35:40_ _2014 -0700_ _+++ b/src/share/classes/java/security/Security.java Sat Apr 26 07:31:04_ _2014 -0300_ _@@ -1114,7 +1114,7 @@_ _// implementation of an algorithm. We are only_ _interested_ _// in entries which lead to the implementation_ _// classes._ _- if (currentKey.indexOf(" ") < 0) {_ _+ if (currentKey.indexOf(' ') < 0) {_ _result.add(currentKey.substring(_ _serviceName.length()_ _+ 1));_ _}_ _diff -r e323c74edabd_ _src/share/classes/java/util/PropertyPermission.java_ _--- a/src/share/classes/java/util/PropertyPermission.java Wed Apr 23_ _11:35:40 2014 -0700_ _+++ b/src/share/classes/java/util/PropertyPermission.java Sat Apr 26_ _07:31:04 2014 -0300_ _@@ -547,7 +547,7 @@_ _offset = name.length()-1;_ _- while ((last = name.lastIndexOf(".", offset)) != -1) {_ _+ while ((last = name.lastIndexOf('.', offset)) != -1) {_ _name = name.substring(0, last+1) + "*";_ _//System.out.println("check "+name);_ _diff -r e323c74edabd src/share/classes/java/util/jar/JarVerifier.java_ _--- a/src/share/classes/java/util/jar/JarVerifier.java Wed Apr 23_ _11:35:40_ _2014 -0700_ _+++ b/src/share/classes/java/util/jar/JarVerifier.java Sat Apr 26_ _07:31:04_ _2014 -0300_ _@@ -278,7 +278,7 @@_ _// now we are parsing a signature block file_ _- String key = uname.substring(0,_ _uname.lastIndexOf("."));_ _+ String key = uname.substring(0,_ _uname.lastIndexOf('.'));_ _if (signerCache == null)_ _signerCache = new ArrayList<>(); diff -r e323c74edabd src/share/classes/java/util/logging/LogManager.java --- a/src/share/classes/java/util/logging/LogManager.java Wed Apr 23 11:35:40 2014 -0700 +++ b/src/share/classes/java/util/logging/LogManager.java Sat Apr 26 07:31:04 2014 -0300 @@ -866,7 +866,7 @@ int ix = 1; for (;;) { - int ix2 = name.indexOf(".", ix); + int ix2 = name.indexOf('.', ix); if (ix2 < 0) {_ _break;_ _}_ _@@ -889,7 +889,7 @@_ _}_ _LogNode node = root;_ _while (name.length() > 0) { - int ix = name.indexOf("."); + int ix = name.indexOf('.'); String head; if (ix > 0) { head = name.substring(0, ix); diff -r e323c74edabd src/share/classes/java/util/logging/XMLFormatter.java --- a/src/share/classes/java/util/logging/XMLFormatter.java Wed Apr 23 11:35:40 2014 -0700 +++ b/src/share/classes/java/util/logging/XMLFormatter.java Sat Apr 26 07:31:04 2014 -0300 @@ -174,7 +174,7 @@ // Check to see if the parameter was not a messagetext format // or was not null or empty if ( parameters != null && parameters.length != 0 - && record.getMessage().indexOf("{") == -1 ) { + && record.getMessage().indexOf('{') == -1 ) { for (int i = 0; i < parameters.length; i++) {_ _sb.append(" "); try { diff -r e323c74edabd src/share/classes/javax/management/MBeanPermission.java --- a/src/share/classes/javax/management/MBeanPermission.java Wed Apr 23 11:35:40 2014 -0700 +++ b/src/share/classes/javax/management/MBeanPermission.java Sat Apr 26 07:31:04 2014 -0300 @@ -290,7 +290,7 @@ // Parse ObjectName - int openingBracket = name.indexOf("["); + int openingBracket = name.indexOf('['); if (openingBracket == -1) { // If "[on]" missing then ObjectName(":") // @@ -329,7 +329,7 @@ // Parse member - int poundSign = name.indexOf("#"); + int poundSign = name.indexOf('#'); if (poundSign == -1) setMember("*"); diff -r e323c74edabd src/share/classes/javax/management/modelmbean/DescriptorSupport.java --- a/src/share/classes/javax/management/modelmbean/DescriptorSupport.java Wed Apr 23 11:35:40 2014 -0700 +++ b/src/share/classes/javax/management/modelmbean/DescriptorSupport.java Sat Apr 26 07:31:04 2014 -0300 @@ -329,7 +329,7 @@ inFld = false; } else if (inFld && inDesc) { // want kw=value, eg, name="myname" value="myvalue" - int eqseparator = tok.indexOf("="); + int eqseparator = tok.indexOf('='); if (eqseparator > 0) { String kwPart = tok.substring(0,eqseparator); String valPart = tok.substring(eqseparator+1); @@ -458,7 +458,7 @@ if ((fields[i] == null) || (fields[i].equals(""))) { continue; } - int eqseparator = fields[i].indexOf("="); + int eqseparator = fields[i].indexOf('='); if (eqseparator < 0) {_ _// illegal if no = or is first character_ _if (MODELMBEANLOGGER.isLoggable(Level.FINEST)) {_ _diff -r e323c74edabd_ _src/share/classes/javax/management/modelmbean/RequiredModelMBean.java_ _---_ _a/src/share/classes/javax/management/modelmbean/RequiredModelMBean.java_ _Wed_ _Apr 23 11:35:40 2014 -0700_ _+++_ _b/src/share/classes/javax/management/modelmbean/RequiredModelMBean.java_ _Sat_ _Apr 26 07:31:04 2014 -0300_ _@@ -934,7 +934,7 @@_ _String opMethodName;_ _// Parse for class name and method_ _- int opSplitter = opName.lastIndexOf(".");_ _+ int opSplitter = opName.lastIndexOf('.');_ _if (opSplitter > 0) { opClassName = opName.substring(0,opSplitter); opMethodName = opName.substring(opSplitter+1); @@ -943,7 +943,7 @@ /* Ignore anything after a left paren. We keep this for compatibility but it isn't specified. */ - opSplitter = opMethodName.indexOf("("); + opSplitter = opMethodName.indexOf('('); if (opSplitter > 0) opMethodName = opMethodName.substring(0,opSplitter); diff -r e323c74edabd src/share/classes/javax/security/auth/PrivateCredentialPermission.java --- a/src/share/classes/javax/security/auth/PrivateCredentialPermission.java Wed Apr 23 11:35:40 2014 -0700 +++ b/src/share/classes/javax/security/auth/PrivateCredentialPermission.java Sat Apr 26 07:31:04 2014 -0300 @@ -495,7 +495,7 @@ // perform new initialization from the permission name - if (getName().indexOf(" ") == -1 && getName().indexOf(""") == -1) { + if (getName().indexOf(' ') == -1 && getName().indexOf('"') == -1) { // name only has a credential class specified credentialClass = getName(); diff -r e323c74edabd src/share/classes/javax/security/sasl/Sasl.java --- a/src/share/classes/javax/security/sasl/Sasl.java Wed Apr 23 11:35:40 2014 -0700 +++ b/src/share/classes/javax/security/sasl/Sasl.java Sat Apr 26 07:31:04 2014 -0300 @@ -600,7 +600,7 @@ // implementation of an algorithm. We are only interested // in entries which lead to the implementation // classes. - if (currentKey.indexOf(" ") < 0) {_ _+ if (currentKey.indexOf(' ') < 0) {_ _String className =_ _providers[i].getProperty(currentKey);_ _if (!classes.contains(className)) {_ _classes.add(className);_ _diff -r e323c74edabd src/share/classes/javax/swing/JEditorPane.java_ _--- a/src/share/classes/javax/swing/JEditorPane.java Wed Apr 23_ _11:35:40_ _2014 -0700_ _+++ b/src/share/classes/javax/swing/JEditorPane.java Sat Apr 26_ _07:31:04_ _2014 -0300_ _@@ -964,7 +964,7 @@_ _// The type could have optional info is part of it,_ _// for example some charset info. We need to strip that_ _// of and save it._ _- int parm = type.indexOf(";");_ _+ int parm = type.indexOf(';');_ _if (parm > -1) { // Save the paramList. String paramList = type.substring(parm); diff -r e323c74edabd src/share/classes/javax/swing/plaf/nimbus/NimbusStyle.java --- a/src/share/classes/javax/swing/plaf/nimbus/NimbusStyle.java Wed Apr 23 11:35:40 2014 -0700 +++ b/src/share/classes/javax/swing/plaf/nimbus/NimbusStyle.java Sat Apr 26 07:31:04 2014 -0300 @@ -653,7 +653,7 @@ // strip off the prefix, if there is one. String fullKey = key.toString(); - String partialKey = fullKey.substring(fullKey.indexOf(".") + 1); + String partialKey = fullKey.substring(fullKey.indexOf('.') + 1); Object obj = null; int xstate = getExtendedState(ctx, v); diff -r e323c74edabd src/share/classes/sun/applet/AppletClassLoader.java --- a/src/share/classes/sun/applet/AppletClassLoader.java Wed Apr 23 11:35:40 2014 -0700 +++ b/src/share/classes/sun/applet/AppletClassLoader.java Sat Apr 26 07:31:04 2014 -0300 @@ -168,7 +168,7 @@ */ protected Class findClass(String name) throws ClassNotFoundException { - int index = name.indexOf(";"); + int index = name.indexOf(';'); String cookie = ""; if(index != -1) { cookie = name.substring(index, name.length()); @@ -608,7 +608,7 @@ // deal with URL rewriting String cookie = null; - int index = name.indexOf(";"); + int index = name.indexOf(';'); if(index != -1) { cookie = name.substring(index, name.length()); name = name.substring(0, index); diff -r e323c74edabd src/share/classes/sun/awt/FontConfiguration.java --- a/src/share/classes/sun/awt/FontConfiguration.java Wed Apr 23 11:35:40 2014 -0700 +++ b/src/share/classes/sun/awt/FontConfiguration.java Sat Apr 26 07:31:04 2014 -0300 @@ -272,9 +272,9 @@ if (configFile != null) { return configFile; } - int decimalPointIndex = osVersion.indexOf("."); + int decimalPointIndex = osVersion.indexOf('.'); if (decimalPointIndex != -1) { - osMajorVersion = osVersion.substring(0, osVersion.indexOf(".")); + osMajorVersion = osVersion.substring(0, osVersion.indexOf('.')); configFile = findImpl(baseName + "." + osName + "." + osMajorVersion); if (configFile != null) { return configFile; diff -r e323c74edabd src/share/classes/sun/font/Type1Font.java --- a/src/share/classes/sun/font/Type1Font.java Wed Apr 23 11:35:40 2014 -0700 +++ b/src/share/classes/sun/font/Type1Font.java Sat Apr 26 07:31:04 2014 -0300 @@ -492,7 +492,7 @@ //Conversion: Expand abbreviations in style portion (everything after '-'), // replace '-' with space and insert missing spaces - pos = name.indexOf("-"); + pos = name.indexOf('-'); if (pos >= 0) { res = expandName(name.substring(0, pos), false); res += " " + expandName(name.substring(pos+1), true); @@ -513,8 +513,8 @@ //Conversion: Truncate style portion (everything after '-') // and insert missing spaces - if (tmp.indexOf("-") > 0) { - tmp = tmp.substring(0, tmp.indexOf("-")); + if (tmp.indexOf('-') > 0) { + tmp = tmp.substring(0, tmp.indexOf('-')); } return expandName(tmp, false); diff -r e323c74edabd src/share/classes/sun/jvmstat/monitor/AbstractMonitor.java --- a/src/share/classes/sun/jvmstat/monitor/AbstractMonitor.java Wed Apr 23 11:35:40 2014 -0700 +++ b/src/share/classes/sun/jvmstat/monitor/AbstractMonitor.java Sat Apr 26 07:31:04 2014 -0300 @@ -84,7 +84,7 @@ * {@inheritDoc} */ public String getBaseName() { - int baseIndex = name.lastIndexOf(".")+1; + int baseIndex = name.lastIndexOf('.') + 1; return name.substring(baseIndex); } diff -r e323c74edabd src/share/classes/sun/jvmstat/monitor/HostIdentifier.java --- a/src/share/classes/sun/jvmstat/monitor/HostIdentifier.java Wed Apr 23 11:35:40 2014 -0700 +++ b/src/share/classes/sun/jvmstat/monitor/HostIdentifier.java Sat Apr 26 07:31:04 2014 -0300 @@ -138,8 +138,8 @@ String frag = u.getFragment(); URI u2 = null; - int c1index = uriString.indexOf(":"); - int c2index = uriString.lastIndexOf(":"); + int c1index = uriString.indexOf(':'); + int c2index = uriString.lastIndexOf(':'); if (c2index != c1index) { /* * this is the scheme:hostname:port case. Attempt to diff -r e323c74edabd src/share/classes/sun/management/snmp/jvminstr/NotificationTargetImpl.java --- a/src/share/classes/sun/management/snmp/jvminstr/NotificationTargetImpl.java Wed Apr 23 11:35:40 2014 -0700 +++ b/src/share/classes/sun/management/snmp/jvminstr/NotificationTargetImpl.java Sat Apr 26 07:31:04 2014 -0300 @@ -70,8 +70,8 @@ String addrStr; if (target.startsWith("[")) { - final int index = target.indexOf("]"); - final int index2 = target.lastIndexOf(":"); + final int index = target.indexOf(']'); + final int index2 = target.lastIndexOf(':'); if(index == -1) throw new IllegalArgumentException("Host starts with [ but " + "does not end with ]"); @@ -85,8 +85,8 @@ if (addrStr.startsWith("[")) throw new IllegalArgumentException("More than one [[...]]"); } else { - final int index = target.indexOf(":"); - final int index2 = target.lastIndexOf(":"); + final int index = target.indexOf(':'); + final int index2 = target.lastIndexOf(':'); if(index == -1) throw new IllegalArgumentException("Missing port separator ":""); addrStr = target.substring(0, index); @@ -98,7 +98,7 @@ address = InetAddress.getByName(addrStr); //THE CHECK SHOULD BE STRONGER!!! - final int index = target.lastIndexOf(":"); + final int index = target.lastIndexOf(':'); community = target.substring(index + 1, target.length()); diff -r e323c74edabd src/share/classes/sun/misc/ExtensionInfo.java --- a/src/share/classes/sun/misc/ExtensionInfo.java Wed Apr 23 11:35:40 2014 -0700 +++ b/src/share/classes/sun/misc/ExtensionInfo.java Sat Apr 26 07:31:04 2014 -0300 @@ -273,8 +273,8 @@ else { // Look for index of "." in the string - int sIdx = source.indexOf("."); - int tIdx = target.indexOf("."); + int sIdx = source.indexOf('.'); + int tIdx = target.indexOf('.'); if (sIdx == -1) sIdx = source.length() - 1; @@ -304,10 +304,10 @@ String versionError = mf.format(args); // Look for "-" for pre-release - int prIndex = token.indexOf("-"); + int prIndex = token.indexOf('-'); // Look for "" for patch release - int patchIndex = token.indexOf(""); + int patchIndex = token.indexOf(''); if (prIndex == -1 && patchIndex == -1) { diff -r e323c74edabd src/share/classes/sun/misc/JarIndex.java --- a/src/share/classes/sun/misc/JarIndex.java Wed Apr 23 11:35:40 2014 -0700 +++ b/src/share/classes/sun/misc/JarIndex.java Sat Apr 26 07:31:04 2014 -0300 @@ -172,7 +172,7 @@ if ((jarFiles = indexMap.get(fileName)) == null) { /* try the package name again */ int pos; - if((pos = fileName.lastIndexOf("/")) != -1) { + if((pos = fileName.lastIndexOf('/')) != -1) { jarFiles = indexMap.get(fileName.substring(0, pos)); } } @@ -195,7 +195,7 @@ public void add(String fileName, String jarName) { String packageName; int pos; - if((pos = fileName.lastIndexOf("/")) != -1) { + if((pos = fileName.lastIndexOf('/')) != -1) { packageName = fileName.substring(0, pos); } else { packageName = fileName; diff -r e323c74edabd src/share/classes/sun/misc/URLClassPath.java --- a/src/share/classes/sun/misc/URLClassPath.java Wed Apr 23 11:35:40 2014 -0700 +++ b/src/share/classes/sun/misc/URLClassPath.java Sat Apr 26 07:31:04 2014 -0300 @@ -793,7 +793,7 @@ boolean validIndex(final String name) { String packageName = name; int pos; - if((pos = name.lastIndexOf("/")) != -1) { + if((pos = name.lastIndexOf('/')) != -1) { packageName = name.substring(0, pos); } @@ -803,7 +803,7 @@ while (enum.hasMoreElements()) { entry = enum.nextElement(); entryName = entry.getName(); - if((pos = entryName.lastIndexOf("/")) != -1) + if((pos = entryName.lastIndexOf('/')) != -1) entryName = entryName.substring(0, pos); if (entryName.equals(packageName)) { return true; @@ -900,7 +900,7 @@ */ JarIndex newIndex = newLoader.getIndex(); if(newIndex != null) { - int pos = jarName.lastIndexOf("/"); + int pos = jarName.lastIndexOf('/'); newIndex.merge(this.index, (pos == -1 ? null : jarName.substring(0, pos + 1))); } diff -r e323c74edabd src/share/classes/sun/net/ftp/impl/FtpClient.java --- a/src/share/classes/sun/net/ftp/impl/FtpClient.java Wed Apr 23 11:35:40 2014 -0700 +++ b/src/share/classes/sun/net/ftp/impl/FtpClient.java Sat Apr 26 07:31:04 2014 -0300 @@ -259,7 +259,7 @@ d = null; } if (d != null && time != null) { - int c = time.indexOf(":"); + int c = time.indexOf(':'); now.setTime(d); now.set(Calendar.HOUR, Integer.parseInt(time.substring(0, c))); now.set(Calendar.MINUTE, Integer.parseInt(time.substring(c + 1))); @@ -295,7 +295,7 @@ public FtpDirEntry parseLine(String line) { String name = null; - int i = line.lastIndexOf(";"); + int i = line.lastIndexOf(';'); if (i > 0) { name = line.substring(i + 1).trim(); line = line.substring(0, i); @@ -306,7 +306,7 @@ FtpDirEntry file = new FtpDirEntry(name); while (!line.isEmpty()) { String s; - i = line.indexOf(";"); + i = line.indexOf(';'); if (i > 0) { s = line.substring(0, i); line = line.substring(i + 1); @@ -314,7 +314,7 @@ s = line; line = ""; } - i = s.indexOf("="); + i = s.indexOf('='); if (i > 0) { String fact = s.substring(0, i); String value = s.substring(i + 1); diff -r e323c74edabd src/share/classes/sun/net/spi/nameservice/dns/DNSNameService.java --- a/src/share/classes/sun/net/spi/nameservice/dns/DNSNameService.java Wed Apr 23 11:35:40 2014 -0700 +++ b/src/share/classes/sun/net/spi/nameservice/dns/DNSNameService.java Sat Apr 26 07:31:04 2014 -0300 @@ -325,7 +325,7 @@ while (i.hasNext()) { String parentDomain = i.next(); int start = 0; - while ((start = parentDomain.indexOf(".")) != -1 + while ((start = parentDomain.indexOf('.')) != -1 && start < parentDomain.length() -1) {_ _try {_ _results = resolve(ctx,_ _host+"."+parentDomain, ids,_ _0);_ _diff -r e323c74edabd src/share/classes/sun/net/util/IPAddressUtil.java_ _--- a/src/share/classes/sun/net/util/IPAddressUtil.java Wed Apr 23_ _11:35:40_ _2014 -0700_ _+++ b/src/share/classes/sun/net/util/IPAddressUtil.java Sat Apr 26_ _07:31:04_ _2014 -0300_ _@@ -149,7 +149,7 @@_ _byte[] dst = new byte[INADDR16SZ];_ _int srcblength = srcb.length;_ _- int pc = src.indexOf ("%");_ _+ int pc = src.indexOf ('%');_ _if (pc == srcblength -1) {_ _return null;_ _}_ _diff -r e323c74edabd src/share/classes/sun/net/www/ParseUtil.java_ _--- a/src/share/classes/sun/net/www/ParseUtil.java Wed Apr 23 11:35:40_ _2014_ _-0700_ _+++ b/src/share/classes/sun/net/www/ParseUtil.java Sat Apr 26 07:31:04_ _2014_ _-0300_ _@@ -356,8 +356,8 @@_ _* because we must not quote a literal IPv6 address_ _*/_ _if (opaquePart.startsWith("//[")) {_ _- int end = opaquePart.indexOf("]");_ _- if (end != -1 && opaquePart.indexOf(":")!=-1) {_ _+ int end = opaquePart.indexOf(']');_ _+ if (end != -1 && opaquePart.indexOf(':')!=-1) {_ _String doquote, dontquote;_ _if (end == opaquePart.length()) {_ _dontquote = opaquePart;_ _@@ -408,8 +408,8 @@_ _} else if (authority != null) {_ _sb.append("//");_ _if (authority.startsWith("[")) {_ _- int end = authority.indexOf("]");_ _- if (end != -1 && authority.indexOf(":")!=-1) {_ _+ int end = authority.indexOf(']');_ _+ if (end != -1 && authority.indexOf(':')!=-1) {_ _String doquote, dontquote;_ _if (end == authority.length()) {_ _dontquote = authority;_ _diff -r e323c74edabd_ _src/share/classes/sun/reflect/misc/ReflectUtil.java_ _--- a/src/share/classes/sun/reflect/misc/ReflectUtil.java Wed Apr 23_ _11:35:40 2014 -0700_ _+++ b/src/share/classes/sun/reflect/misc/ReflectUtil.java Sat Apr 26_ _07:31:04 2014 -0300_ _@@ -341,6 +341,6 @@_ _* (not to be confused with a Java Language anonymous inner_ _class)._ _*/_ _public static boolean isVMAnonymousClass(Class<?> cls) { - return cls.getName().indexOf("/") > -1; + return cls.getName().indexOf('/') > -1; } } diff -r e323c74edabd src/share/classes/sun/rmi/runtime/Log.java --- a/src/share/classes/sun/rmi/runtime/Log.java Wed Apr 23 11:35:40 2014 -0700 +++ b/src/share/classes/sun/rmi/runtime/Log.java Sat Apr 26 07:31:04 2014 -0300 @@ -434,7 +434,7 @@ * Mimic old log messages that only contain unqualified names. */ private static String unqualifiedName(String name) { - int lastDot = name.lastIndexOf("."); + int lastDot = name.lastIndexOf('.'); if (lastDot >= 0) { name = name.substring(lastDot + 1); } diff -r e323c74edabd src/share/classes/sun/rmi/transport/proxy/CGIHandler.java --- a/src/share/classes/sun/rmi/transport/proxy/CGIHandler.java Wed Apr 23 11:35:40 2014 -0700 +++ b/src/share/classes/sun/rmi/transport/proxy/CGIHandler.java Sat Apr 26 07:31:04 2014 -0300 @@ -141,7 +141,7 @@ { try { String command, param; - int delim = QueryString.indexOf("="); + int delim = QueryString.indexOf('='); if (delim == -1) { command = QueryString; param = ""; diff -r e323c74edabd src/share/classes/sun/security/jgss/wrapper/Krb5Util.java --- a/src/share/classes/sun/security/jgss/wrapper/Krb5Util.java Wed Apr 23 11:35:40 2014 -0700 +++ b/src/share/classes/sun/security/jgss/wrapper/Krb5Util.java Sat Apr 26 07:31:04 2014 -0300 @@ -39,7 +39,7 @@ static String getTGSName(GSSNameElement name) throws GSSException { String krbPrinc = name.getKrbName(); - int atIndex = krbPrinc.indexOf("@"); + int atIndex = krbPrinc.indexOf('@'); String realm = krbPrinc.substring(atIndex + 1); StringBuffer buf = new StringBuffer("krbtgt/"); buf.append(realm).append('@').append(realm); diff -r e323c74edabd src/share/classes/sun/security/provider/PolicyFile.java --- a/src/share/classes/sun/security/provider/PolicyFile.java Wed Apr 23 11:35:40 2014 -0700 +++ b/src/share/classes/sun/security/provider/PolicyFile.java Sat Apr 26 07:31:04 2014 -0300 @@ -1856,7 +1856,7 @@ int colonIndex; String prefix = value; String suffix; - if ((colonIndex = value.indexOf(":")) != -1) { + if ((colonIndex = value.indexOf(':')) != -1) { prefix = value.substring(0, colonIndex); } diff -r e323c74edabd src/share/classes/sun/security/ssl/SunX509KeyManagerImpl.java --- a/src/share/classes/sun/security/ssl/SunX509KeyManagerImpl.java Wed Apr 23 11:35:40 2014 -0700 +++ b/src/share/classes/sun/security/ssl/SunX509KeyManagerImpl.java Sat Apr 26 07:31:04 2014 -0300 @@ -338,7 +338,7 @@ } String sigType; if (keyType.contains("")) { - int k = keyType.indexOf(""); + int k = keyType.indexOf(''); sigType = keyType.substring(k + 1); keyType = keyType.substring(0, k); } else { diff -r e323c74edabd src/share/classes/sun/security/ssl/X509KeyManagerImpl.java --- a/src/share/classes/sun/security/ssl/X509KeyManagerImpl.java Wed Apr 23 11:35:40 2014 -0700 +++ b/src/share/classes/sun/security/ssl/X509KeyManagerImpl.java Sat Apr 26 07:31:04 2014 -0300 @@ -302,7 +302,7 @@ final String sigKeyAlgorithm; KeyType(String algorithm) { - int k = algorithm.indexOf(""); + int k = algorithm.indexOf(''); if (k == -1) { keyAlgorithm = algorithm; sigKeyAlgorithm = null; diff -r e323c74edabd src/share/classes/sun/security/util/HostnameChecker.java --- a/src/share/classes/sun/security/util/HostnameChecker.java Wed Apr 23 11:35:40 2014 -0700 +++ b/src/share/classes/sun/security/util/HostnameChecker.java Sat Apr 26 07:31:04 2014 -0300 @@ -300,8 +300,8 @@ template = template.toLowerCase(Locale.ENGLISH); // Retreive leftmost component - int templateIdx = template.indexOf("."); - int nameIdx = name.indexOf("."); + int templateIdx = template.indexOf('.'); + int nameIdx = name.indexOf('.'); if (templateIdx == -1) templateIdx = template.length(); @@ -326,7 +326,7 @@ */ private static boolean matchWildCards(String name, String template) { - int wildcardIdx = template.indexOf("*"); + int wildcardIdx = template.indexOf('*'); if (wildcardIdx == -1) return name.equals(template); @@ -349,7 +349,7 @@ // update the match scope name = name.substring(beforeStartIdx + beforeWildcard.length()); - wildcardIdx = afterWildcard.indexOf("*"); + wildcardIdx = afterWildcard.indexOf('*'); } return name.endsWith(afterWildcard); } diff -r e323c74edabd src/share/classes/sun/security/util/SignatureFileVerifier.java --- a/src/share/classes/sun/security/util/SignatureFileVerifier.java Wed Apr 23 11:35:40 2014 -0700 +++ b/src/share/classes/sun/security/util/SignatureFileVerifier.java Sat Apr 26 07:31:04 2014 -0300 @@ -98,7 +98,7 @@ } finally { Providers.stopJarVerification(obj); } - this.name = name.substring(0, name.lastIndexOf(".")) + this.name = name.substring(0, name.lastIndexOf('.')) .toUpperCase(Locale.ENGLISH); this.md = md; this.signerCache = signerCache; diff -r e323c74edabd src/share/classes/sun/security/x509/CRLExtensions.java --- a/src/share/classes/sun/security/x509/CRLExtensions.java Wed Apr 23 11:35:40 2014 -0700 +++ b/src/share/classes/sun/security/x509/CRLExtensions.java Sat Apr 26 07:31:04 2014 -0300 @@ -185,7 +185,7 @@ String name; String id = attr.getPrefix(); if (id.equalsIgnoreCase(X509CertImpl.NAME)) { // fully qualified - int index = alias.lastIndexOf("."); + int index = alias.lastIndexOf('.'); name = alias.substring(index + 1); } else name = alias; diff -r e323c74edabd src/share/classes/sun/tools/jconsole/ConnectDialog.java --- a/src/share/classes/sun/tools/jconsole/ConnectDialog.java Wed Apr 23 11:35:40 2014 -0700 +++ b/src/share/classes/sun/tools/jconsole/ConnectDialog.java Sat Apr 26 07:31:04 2014 -0300 @@ -325,7 +325,7 @@ } else { String host = remoteTF.getText().trim(); String port = "0"; - int index = host.lastIndexOf(":"); + int index = host.lastIndexOf(':'); if (index >= 0) { port = host.substring(index + 1); host = host.substring(0, index); diff -r e323c74edabd src/share/classes/sun/tools/jconsole/inspector/Utils.java --- a/src/share/classes/sun/tools/jconsole/inspector/Utils.java Wed Apr 23 11:35:40 2014 -0700 +++ b/src/share/classes/sun/tools/jconsole/inspector/Utils.java Sat Apr 26 07:31:04 2014 -0300 @@ -210,7 +210,7 @@ public static String getArrayClassName(String name) { String className = null; if (name.startsWith("[")) { - int index = name.lastIndexOf("["); + int index = name.lastIndexOf('['); className = name.substring(index, name.length()); if (className.startsWith("[L")) { className = className.substring(2, className.length() - 1); @@ -241,7 +241,7 @@ if (className == null) { return name; } - int index = name.lastIndexOf("["); + int index = name.lastIndexOf('['); StringBuilder brackets = new StringBuilder(className); for (int i = 0; i <= index; i++) {_ _brackets.append("[]");_ _diff -r e323c74edabd_ _src/share/classes/sun/tools/jconsole/inspector/XOperations.java_ _---_ _a/src/share/classes/sun/tools/jconsole/inspector/XOperations.java Wed_ _Apr 23 11:35:40 2014 -0700_ _+++_ _b/src/share/classes/sun/tools/jconsole/inspector/XOperations.java Sat_ _Apr 26 07:31:04 2014 -0300_ _@@ -112,7 +112,7 @@_ _if (methodLabel.getText().length() > 20) { methodLabel.setText(methodLabel.getText(). substring(methodLabel.getText(). - lastIndexOf(".") + 1, + lastIndexOf('.') + 1, methodLabel.getText().length())); } diff -r e323c74edabd src/share/classes/sun/tools/jconsole/inspector/XTree.java --- a/src/share/classes/sun/tools/jconsole/inspector/XTree.java Wed Apr 23 11:35:40 2014 -0700 +++ b/src/share/classes/sun/tools/jconsole/inspector/XTree.java Sat Apr 26 07:31:04 2014 -0300 @@ -475,7 +475,7 @@ private static Map<String, String> extractKeyValuePairs( String props, ObjectName mbean) { Map<String, String> map = new LinkedHashMap<String,_ _String>(); - int eq = props.indexOf("="); + int eq = props.indexOf('='); while (eq != -1) { String key = props.substring(0, eq); String value = mbean.getKeyProperty(key); @@ -484,7 +484,7 @@ if (props.startsWith(",")) { props = props.substring(1); } - eq = props.indexOf("="); + eq = props.indexOf('='); } return map; } @@ -821,7 +821,7 @@ } private void buildKeyValue() { - int index = tokenValue.indexOf("="); + int index = tokenValue.indexOf('='); if (index < 0) { key = tokenValue; value = tokenValue;



More information about the core-libs-dev mailing list