These String literals may be replaced by equivalent character literals[1],
gaining some performance enhancement.

Webrev:
https://dl.dropboxusercontent.com/u/16109193/open_jdk/jdk/index_of_character/index.html


[1]
@State(Scope.Thread)
@OutputTimeUnit(TimeUnit.SECONDS)
public class IndexOfBenchmark {

    private static final String WORDS = "I love java Language 8 because has
Lambda, Stream and MetaSpace";

    @Param("10000")
    private int param;

    @GenerateMicroBenchmark
    public void indexOfString(BlackHole bh) {

        for (int i = 0; i <= param; i++) {
            int index = WORDS.indexOf(",");
            bh.consume(index);
        }
    }

    @GenerateMicroBenchmark
    public void indexOfChar(BlackHole bh) {

        for (int i = 0; i <= param; i++) {
            int index = WORDS.indexOf(',');
            bh.consume(index);
        }
    }
}

Benchmark                           (param)   Mode   Samples         Mean
Mean error    Units
m.IndexOfBenchmark.indexOfChar        10000  thrpt        10     5579.120
   114.179    ops/s
m.IndexOfBenchmark.indexOfString      10000  thrpt        10     4562.178
    46.751    ops/s

-- 
Otávio Gonçalves de Santana

blog:     http://otaviosantana.blogspot.com.br/
twitter: http://twitter.com/otaviojava
site:     *http://about.me/otaviojava <http://about.me/otaviojava>*
55 (11) 98255-3513
# HG changeset patch
# User Otavio Santana <otavioj...@java.net>
# Date 1421101042 7200
#      Mon Jan 12 20:17:22 2015 -0200
# Node ID a30b25a498f51a6de42a278c27612817925ff941
# Parent  c06b6d58e6a9c10cea9f0b8946846c3de4f59feb
uses indexOf with Character indexOf String

diff --git a/src/java.desktop/share/classes/com/sun/java/swing/plaf/gtk/Metacity.java b/src/java.desktop/share/classes/com/sun/java/swing/plaf/gtk/Metacity.java
--- a/src/java.desktop/share/classes/com/sun/java/swing/plaf/gtk/Metacity.java
+++ b/src/java.desktop/share/classes/com/sun/java/swing/plaf/gtk/Metacity.java
@@ -547,7 +547,7 @@
                             i = strLowerCase.indexOf("<stringvalue>", i);
                             if (i > 0) {
                                 i += "<stringvalue>".length();
-                                int i2 = str.indexOf("<", i);
+                                int i2 = str.indexOf('<', i);
                                 return str.substring(i, i2);
                             }
                         }
diff --git a/src/java.base/share/classes/com/sun/java/util/jar/pack/ConstantPool.java b/src/java.base/share/classes/com/sun/java/util/jar/pack/ConstantPool.java
--- a/src/java.base/share/classes/com/sun/java/util/jar/pack/ConstantPool.java
+++ b/src/java.base/share/classes/com/sun/java/util/jar/pack/ConstantPool.java
@@ -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 --git a/src/java.corba/share/classes/com/sun/jndi/cosnaming/CorbanameUrl.java b/src/java.corba/share/classes/com/sun/jndi/cosnaming/CorbanameUrl.java
--- a/src/java.corba/share/classes/com/sun/jndi/cosnaming/CorbanameUrl.java
+++ b/src/java.corba/share/classes/com/sun/jndi/cosnaming/CorbanameUrl.java
@@ -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 --git a/src/jdk.naming.rmi/share/classes/com/sun/jndi/rmi/registry/RegistryContext.java b/src/jdk.naming.rmi/share/classes/com/sun/jndi/rmi/registry/RegistryContext.java
--- a/src/jdk.naming.rmi/share/classes/com/sun/jndi/rmi/registry/RegistryContext.java
+++ b/src/jdk.naming.rmi/share/classes/com/sun/jndi/rmi/registry/RegistryContext.java
@@ -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 --git a/src/java.naming/share/classes/com/sun/jndi/toolkit/url/GenericURLContext.java b/src/java.naming/share/classes/com/sun/jndi/toolkit/url/GenericURLContext.java
--- a/src/java.naming/share/classes/com/sun/jndi/toolkit/url/GenericURLContext.java
+++ b/src/java.naming/share/classes/com/sun/jndi/toolkit/url/GenericURLContext.java
@@ -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 --git a/src/java.rmi/share/classes/com/sun/rmi/rmid/ExecOptionPermission.java b/src/java.rmi/share/classes/com/sun/rmi/rmid/ExecOptionPermission.java
--- a/src/java.rmi/share/classes/com/sun/rmi/rmid/ExecOptionPermission.java
+++ b/src/java.rmi/share/classes/com/sun/rmi/rmid/ExecOptionPermission.java
@@ -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 --git a/src/java.sql.rowset/share/classes/com/sun/rowset/CachedRowSetImpl.java b/src/java.sql.rowset/share/classes/com/sun/rowset/CachedRowSetImpl.java
--- a/src/java.sql.rowset/share/classes/com/sun/rowset/CachedRowSetImpl.java
+++ b/src/java.sql.rowset/share/classes/com/sun/rowset/CachedRowSetImpl.java
@@ -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 --git a/src/java.sql.rowset/share/classes/com/sun/rowset/JoinRowSetImpl.java b/src/java.sql.rowset/share/classes/com/sun/rowset/JoinRowSetImpl.java
--- a/src/java.sql.rowset/share/classes/com/sun/rowset/JoinRowSetImpl.java
+++ b/src/java.sql.rowset/share/classes/com/sun/rowset/JoinRowSetImpl.java
@@ -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 --git a/src/java.sql.rowset/share/classes/com/sun/rowset/internal/WebRowSetXmlWriter.java b/src/java.sql.rowset/share/classes/com/sun/rowset/internal/WebRowSetXmlWriter.java
--- a/src/java.sql.rowset/share/classes/com/sun/rowset/internal/WebRowSetXmlWriter.java
+++ b/src/java.sql.rowset/share/classes/com/sun/rowset/internal/WebRowSetXmlWriter.java
@@ -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 --git a/src/java.sql.rowset/share/classes/com/sun/rowset/internal/XmlReaderContentHandler.java b/src/java.sql.rowset/share/classes/com/sun/rowset/internal/XmlReaderContentHandler.java
--- a/src/java.sql.rowset/share/classes/com/sun/rowset/internal/XmlReaderContentHandler.java
+++ b/src/java.sql.rowset/share/classes/com/sun/rowset/internal/XmlReaderContentHandler.java
@@ -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 --git a/src/java.sql.rowset/share/classes/com/sun/rowset/internal/XmlResolver.java b/src/java.sql.rowset/share/classes/com/sun/rowset/internal/XmlResolver.java
--- a/src/java.sql.rowset/share/classes/com/sun/rowset/internal/XmlResolver.java
+++ b/src/java.sql.rowset/share/classes/com/sun/rowset/internal/XmlResolver.java
@@ -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 --git a/src/jdk.security.auth/share/classes/com/sun/security/auth/module/JndiLoginModule.java b/src/jdk.security.auth/share/classes/com/sun/security/auth/module/JndiLoginModule.java
--- a/src/jdk.security.auth/share/classes/com/sun/security/auth/module/JndiLoginModule.java
+++ b/src/jdk.security.auth/share/classes/com/sun/security/auth/module/JndiLoginModule.java
@@ -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 --git a/src/jdk.security.auth/share/classes/com/sun/security/auth/module/LdapLoginModule.java b/src/jdk.security.auth/share/classes/com/sun/security/auth/module/LdapLoginModule.java
--- a/src/jdk.security.auth/share/classes/com/sun/security/auth/module/LdapLoginModule.java
+++ b/src/jdk.security.auth/share/classes/com/sun/security/auth/module/LdapLoginModule.java
@@ -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 --git a/src/demo/share/jpda/com/sun/tools/example/debug/gui/CommandInterpreter.java b/src/demo/share/jpda/com/sun/tools/example/debug/gui/CommandInterpreter.java
--- a/src/demo/share/jpda/com/sun/tools/example/debug/gui/CommandInterpreter.java
+++ b/src/demo/share/jpda/com/sun/tools/example/debug/gui/CommandInterpreter.java
@@ -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 --git a/src/jdk.jdi/share/classes/com/sun/tools/example/debug/tty/Commands.java b/src/jdk.jdi/share/classes/com/sun/tools/example/debug/tty/Commands.java
--- a/src/jdk.jdi/share/classes/com/sun/tools/example/debug/tty/Commands.java
+++ b/src/jdk.jdi/share/classes/com/sun/tools/example/debug/tty/Commands.java
@@ -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 --git a/src/jdk.dev/share/classes/com/sun/tools/hat/internal/server/AllClassesQuery.java b/src/jdk.dev/share/classes/com/sun/tools/hat/internal/server/AllClassesQuery.java
--- a/src/jdk.dev/share/classes/com/sun/tools/hat/internal/server/AllClassesQuery.java
+++ b/src/jdk.dev/share/classes/com/sun/tools/hat/internal/server/AllClassesQuery.java
@@ -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 = "<Arrays>";
diff --git a/src/java.base/share/classes/java/lang/Class.java b/src/java.base/share/classes/java/lang/Class.java
--- a/src/java.base/share/classes/java/lang/Class.java
+++ b/src/java.base/share/classes/java/lang/Class.java
@@ -1309,7 +1309,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 --git a/src/java.base/share/classes/java/lang/ClassLoader.java b/src/java.base/share/classes/java/lang/ClassLoader.java
--- a/src/java.base/share/classes/java/lang/ClassLoader.java
+++ b/src/java.base/share/classes/java/lang/ClassLoader.java
@@ -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 --git a/src/java.base/share/classes/java/lang/invoke/InvokerBytecodeGenerator.java b/src/java.base/share/classes/java/lang/invoke/InvokerBytecodeGenerator.java
--- a/src/java.base/share/classes/java/lang/invoke/InvokerBytecodeGenerator.java
+++ b/src/java.base/share/classes/java/lang/invoke/InvokerBytecodeGenerator.java
@@ -90,7 +90,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 --git a/src/java.base/share/classes/java/net/CookieManager.java b/src/java.base/share/classes/java/net/CookieManager.java
--- a/src/java.base/share/classes/java/net/CookieManager.java
+++ b/src/java.base/share/classes/java/net/CookieManager.java
@@ -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 --git a/src/java.base/share/classes/java/net/InetAddress.java b/src/java.base/share/classes/java/net/InetAddress.java
--- a/src/java.base/share/classes/java/net/InetAddress.java
+++ b/src/java.base/share/classes/java/net/InetAddress.java
@@ -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 --git a/src/java.base/share/classes/java/net/SocketPermission.java b/src/java.base/share/classes/java/net/SocketPermission.java
--- a/src/java.base/share/classes/java/net/SocketPermission.java
+++ b/src/java.base/share/classes/java/net/SocketPermission.java
@@ -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 --git a/src/java.base/share/classes/java/net/SocksSocketImpl.java b/src/java.base/share/classes/java/net/SocksSocketImpl.java
--- a/src/java.base/share/classes/java/net/SocksSocketImpl.java
+++ b/src/java.base/share/classes/java/net/SocksSocketImpl.java
@@ -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 --git a/src/java.base/share/classes/java/net/URI.java b/src/java.base/share/classes/java/net/URI.java
--- a/src/java.base/share/classes/java/net/URI.java
+++ b/src/java.base/share/classes/java/net/URI.java
@@ -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 --git a/src/java.base/share/classes/java/security/BasicPermission.java b/src/java.base/share/classes/java/security/BasicPermission.java
--- a/src/java.base/share/classes/java/security/BasicPermission.java
+++ b/src/java.base/share/classes/java/security/BasicPermission.java
@@ -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 --git a/src/java.base/share/classes/java/security/Provider.java b/src/java.base/share/classes/java/security/Provider.java
--- a/src/java.base/share/classes/java/security/Provider.java
+++ b/src/java.base/share/classes/java/security/Provider.java
@@ -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 --git a/src/java.base/share/classes/java/security/Security.java b/src/java.base/share/classes/java/security/Security.java
--- a/src/java.base/share/classes/java/security/Security.java
+++ b/src/java.base/share/classes/java/security/Security.java
@@ -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 --git a/src/java.base/share/classes/java/util/PropertyPermission.java b/src/java.base/share/classes/java/util/PropertyPermission.java
--- a/src/java.base/share/classes/java/util/PropertyPermission.java
+++ b/src/java.base/share/classes/java/util/PropertyPermission.java
@@ -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 --git a/src/java.base/share/classes/java/util/jar/JarVerifier.java b/src/java.base/share/classes/java/util/jar/JarVerifier.java
--- a/src/java.base/share/classes/java/util/jar/JarVerifier.java
+++ b/src/java.base/share/classes/java/util/jar/JarVerifier.java
@@ -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 --git a/src/java.logging/share/classes/java/util/logging/LogManager.java b/src/java.logging/share/classes/java/util/logging/LogManager.java
--- a/src/java.logging/share/classes/java/util/logging/LogManager.java
+++ b/src/java.logging/share/classes/java/util/logging/LogManager.java
@@ -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 --git a/src/java.logging/share/classes/java/util/logging/XMLFormatter.java b/src/java.logging/share/classes/java/util/logging/XMLFormatter.java
--- a/src/java.logging/share/classes/java/util/logging/XMLFormatter.java
+++ b/src/java.logging/share/classes/java/util/logging/XMLFormatter.java
@@ -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("  <param>");
                 try {
diff --git a/src/java.management/share/classes/javax/management/MBeanPermission.java b/src/java.management/share/classes/javax/management/MBeanPermission.java
--- a/src/java.management/share/classes/javax/management/MBeanPermission.java
+++ b/src/java.management/share/classes/javax/management/MBeanPermission.java
@@ -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 --git a/src/java.management/share/classes/javax/management/modelmbean/DescriptorSupport.java b/src/java.management/share/classes/javax/management/modelmbean/DescriptorSupport.java
--- a/src/java.management/share/classes/javax/management/modelmbean/DescriptorSupport.java
+++ b/src/java.management/share/classes/javax/management/modelmbean/DescriptorSupport.java
@@ -329,7 +329,7 @@
                 inFld = false;
             } else if (inFld && inDesc) {
                 // want kw=value, eg, name="myname" value="myvalue"
-                int eq_separator = tok.indexOf("=");
+                int eq_separator = tok.indexOf('=');
                 if (eq_separator > 0) {
                     String kwPart = tok.substring(0,eq_separator);
                     String valPart = tok.substring(eq_separator+1);
@@ -458,7 +458,7 @@
             if ((fields[i] == null) || (fields[i].equals(""))) {
                 continue;
             }
-            int eq_separator = fields[i].indexOf("=");
+            int eq_separator = fields[i].indexOf('=');
             if (eq_separator < 0) {
                 // illegal if no = or is first character
                 if (MODELMBEAN_LOGGER.isLoggable(Level.FINEST)) {
diff --git a/src/java.management/share/classes/javax/management/modelmbean/RequiredModelMBean.java b/src/java.management/share/classes/javax/management/modelmbean/RequiredModelMBean.java
--- a/src/java.management/share/classes/javax/management/modelmbean/RequiredModelMBean.java
+++ b/src/java.management/share/classes/javax/management/modelmbean/RequiredModelMBean.java
@@ -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 --git a/src/java.base/share/classes/javax/security/auth/PrivateCredentialPermission.java b/src/java.base/share/classes/javax/security/auth/PrivateCredentialPermission.java
--- a/src/java.base/share/classes/javax/security/auth/PrivateCredentialPermission.java
+++ b/src/java.base/share/classes/javax/security/auth/PrivateCredentialPermission.java
@@ -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 --git a/src/java.security.sasl/share/classes/javax/security/sasl/Sasl.java b/src/java.security.sasl/share/classes/javax/security/sasl/Sasl.java
--- a/src/java.security.sasl/share/classes/javax/security/sasl/Sasl.java
+++ b/src/java.security.sasl/share/classes/javax/security/sasl/Sasl.java
@@ -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 --git a/src/java.desktop/share/classes/javax/swing/JEditorPane.java b/src/java.desktop/share/classes/javax/swing/JEditorPane.java
--- a/src/java.desktop/share/classes/javax/swing/JEditorPane.java
+++ b/src/java.desktop/share/classes/javax/swing/JEditorPane.java
@@ -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 --git a/src/java.desktop/share/classes/javax/swing/plaf/nimbus/NimbusStyle.java b/src/java.desktop/share/classes/javax/swing/plaf/nimbus/NimbusStyle.java
--- a/src/java.desktop/share/classes/javax/swing/plaf/nimbus/NimbusStyle.java
+++ b/src/java.desktop/share/classes/javax/swing/plaf/nimbus/NimbusStyle.java
@@ -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 --git a/src/java.desktop/share/classes/sun/applet/AppletClassLoader.java b/src/java.desktop/share/classes/sun/applet/AppletClassLoader.java
--- a/src/java.desktop/share/classes/sun/applet/AppletClassLoader.java
+++ b/src/java.desktop/share/classes/sun/applet/AppletClassLoader.java
@@ -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 --git a/src/java.desktop/share/classes/sun/awt/FontConfiguration.java b/src/java.desktop/share/classes/sun/awt/FontConfiguration.java
--- a/src/java.desktop/share/classes/sun/awt/FontConfiguration.java
+++ b/src/java.desktop/share/classes/sun/awt/FontConfiguration.java
@@ -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 --git a/src/java.desktop/share/classes/sun/font/Type1Font.java b/src/java.desktop/share/classes/sun/font/Type1Font.java
--- a/src/java.desktop/share/classes/sun/font/Type1Font.java
+++ b/src/java.desktop/share/classes/sun/font/Type1Font.java
@@ -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 --git a/src/jdk.jvmstat/share/classes/sun/jvmstat/monitor/AbstractMonitor.java b/src/jdk.jvmstat/share/classes/sun/jvmstat/monitor/AbstractMonitor.java
--- a/src/jdk.jvmstat/share/classes/sun/jvmstat/monitor/AbstractMonitor.java
+++ b/src/jdk.jvmstat/share/classes/sun/jvmstat/monitor/AbstractMonitor.java
@@ -84,7 +84,7 @@
      * {@inheritDoc}
      */
     public String getBaseName() {
-        int baseIndex = name.lastIndexOf(".")+1;
+        int baseIndex = name.lastIndexOf('.') + 1;
         return name.substring(baseIndex);
     }
 
diff --git a/src/jdk.jvmstat/share/classes/sun/jvmstat/monitor/HostIdentifier.java b/src/jdk.jvmstat/share/classes/sun/jvmstat/monitor/HostIdentifier.java
--- a/src/jdk.jvmstat/share/classes/sun/jvmstat/monitor/HostIdentifier.java
+++ b/src/jdk.jvmstat/share/classes/sun/jvmstat/monitor/HostIdentifier.java
@@ -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 --git a/src/jdk.snmp/share/classes/sun/management/snmp/jvminstr/NotificationTargetImpl.java b/src/jdk.snmp/share/classes/sun/management/snmp/jvminstr/NotificationTargetImpl.java
--- a/src/jdk.snmp/share/classes/sun/management/snmp/jvminstr/NotificationTargetImpl.java
+++ b/src/jdk.snmp/share/classes/sun/management/snmp/jvminstr/NotificationTargetImpl.java
@@ -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 --git a/src/java.base/share/classes/sun/misc/ExtensionInfo.java b/src/java.base/share/classes/sun/misc/ExtensionInfo.java
--- a/src/java.base/share/classes/sun/misc/ExtensionInfo.java
+++ b/src/java.base/share/classes/sun/misc/ExtensionInfo.java
@@ -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 --git a/src/java.base/share/classes/sun/misc/JarIndex.java b/src/java.base/share/classes/sun/misc/JarIndex.java
--- a/src/java.base/share/classes/sun/misc/JarIndex.java
+++ b/src/java.base/share/classes/sun/misc/JarIndex.java
@@ -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 --git a/src/java.base/share/classes/sun/misc/URLClassPath.java b/src/java.base/share/classes/sun/misc/URLClassPath.java
--- a/src/java.base/share/classes/sun/misc/URLClassPath.java
+++ b/src/java.base/share/classes/sun/misc/URLClassPath.java
@@ -957,7 +957,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);
             }
 
@@ -967,7 +967,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;
@@ -1064,7 +1064,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 --git a/src/java.base/share/classes/sun/net/ftp/impl/FtpClient.java b/src/java.base/share/classes/sun/net/ftp/impl/FtpClient.java
--- a/src/java.base/share/classes/sun/net/ftp/impl/FtpClient.java
+++ b/src/java.base/share/classes/sun/net/ftp/impl/FtpClient.java
@@ -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 --git a/src/jdk.naming.dns/share/classes/sun/net/spi/nameservice/dns/DNSNameService.java b/src/jdk.naming.dns/share/classes/sun/net/spi/nameservice/dns/DNSNameService.java
--- a/src/jdk.naming.dns/share/classes/sun/net/spi/nameservice/dns/DNSNameService.java
+++ b/src/jdk.naming.dns/share/classes/sun/net/spi/nameservice/dns/DNSNameService.java
@@ -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 --git a/src/java.base/share/classes/sun/net/util/IPAddressUtil.java b/src/java.base/share/classes/sun/net/util/IPAddressUtil.java
--- a/src/java.base/share/classes/sun/net/util/IPAddressUtil.java
+++ b/src/java.base/share/classes/sun/net/util/IPAddressUtil.java
@@ -132,7 +132,7 @@
         byte[] dst = new byte[INADDR16SZ];
 
         int srcb_length = srcb.length;
-        int pc = src.indexOf ("%");
+        int pc = src.indexOf ('%');
         if (pc == srcb_length -1) {
             return null;
         }
diff --git a/src/java.base/share/classes/sun/net/www/ParseUtil.java b/src/java.base/share/classes/sun/net/www/ParseUtil.java
--- a/src/java.base/share/classes/sun/net/www/ParseUtil.java
+++ b/src/java.base/share/classes/sun/net/www/ParseUtil.java
@@ -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 --git a/src/java.base/share/classes/sun/reflect/misc/ReflectUtil.java b/src/java.base/share/classes/sun/reflect/misc/ReflectUtil.java
--- a/src/java.base/share/classes/sun/reflect/misc/ReflectUtil.java
+++ b/src/java.base/share/classes/sun/reflect/misc/ReflectUtil.java
@@ -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 --git a/src/java.rmi/share/classes/sun/rmi/runtime/Log.java b/src/java.rmi/share/classes/sun/rmi/runtime/Log.java
--- a/src/java.rmi/share/classes/sun/rmi/runtime/Log.java
+++ b/src/java.rmi/share/classes/sun/rmi/runtime/Log.java
@@ -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 --git a/src/java.rmi/share/classes/sun/rmi/transport/proxy/CGIHandler.java b/src/java.rmi/share/classes/sun/rmi/transport/proxy/CGIHandler.java
--- a/src/java.rmi/share/classes/sun/rmi/transport/proxy/CGIHandler.java
+++ b/src/java.rmi/share/classes/sun/rmi/transport/proxy/CGIHandler.java
@@ -141,7 +141,7 @@
     {
         try {
             String command, param;
-            int delim = QueryString.indexOf("=");
+            int delim = QueryString.indexOf('=');
             if (delim == -1) {
                 command = QueryString;
                 param = "";
diff --git a/src/java.security.jgss/share/classes/sun/security/jgss/wrapper/Krb5Util.java b/src/java.security.jgss/share/classes/sun/security/jgss/wrapper/Krb5Util.java
--- a/src/java.security.jgss/share/classes/sun/security/jgss/wrapper/Krb5Util.java
+++ b/src/java.security.jgss/share/classes/sun/security/jgss/wrapper/Krb5Util.java
@@ -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 --git a/src/java.base/share/classes/sun/security/provider/PolicyFile.java b/src/java.base/share/classes/sun/security/provider/PolicyFile.java
--- a/src/java.base/share/classes/sun/security/provider/PolicyFile.java
+++ b/src/java.base/share/classes/sun/security/provider/PolicyFile.java
@@ -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 --git a/src/java.base/share/classes/sun/security/ssl/SunX509KeyManagerImpl.java b/src/java.base/share/classes/sun/security/ssl/SunX509KeyManagerImpl.java
--- a/src/java.base/share/classes/sun/security/ssl/SunX509KeyManagerImpl.java
+++ b/src/java.base/share/classes/sun/security/ssl/SunX509KeyManagerImpl.java
@@ -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 --git a/src/java.base/share/classes/sun/security/ssl/X509KeyManagerImpl.java b/src/java.base/share/classes/sun/security/ssl/X509KeyManagerImpl.java
--- a/src/java.base/share/classes/sun/security/ssl/X509KeyManagerImpl.java
+++ b/src/java.base/share/classes/sun/security/ssl/X509KeyManagerImpl.java
@@ -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 --git a/src/java.base/share/classes/sun/security/util/HostnameChecker.java b/src/java.base/share/classes/sun/security/util/HostnameChecker.java
--- a/src/java.base/share/classes/sun/security/util/HostnameChecker.java
+++ b/src/java.base/share/classes/sun/security/util/HostnameChecker.java
@@ -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 --git a/src/java.base/share/classes/sun/security/util/SignatureFileVerifier.java b/src/java.base/share/classes/sun/security/util/SignatureFileVerifier.java
--- a/src/java.base/share/classes/sun/security/util/SignatureFileVerifier.java
+++ b/src/java.base/share/classes/sun/security/util/SignatureFileVerifier.java
@@ -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 --git a/src/java.base/share/classes/sun/security/x509/CRLExtensions.java b/src/java.base/share/classes/sun/security/x509/CRLExtensions.java
--- a/src/java.base/share/classes/sun/security/x509/CRLExtensions.java
+++ b/src/java.base/share/classes/sun/security/x509/CRLExtensions.java
@@ -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 --git a/src/jdk.jconsole/share/classes/sun/tools/jconsole/ConnectDialog.java b/src/jdk.jconsole/share/classes/sun/tools/jconsole/ConnectDialog.java
--- a/src/jdk.jconsole/share/classes/sun/tools/jconsole/ConnectDialog.java
+++ b/src/jdk.jconsole/share/classes/sun/tools/jconsole/ConnectDialog.java
@@ -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 --git a/src/jdk.jconsole/share/classes/sun/tools/jconsole/inspector/Utils.java b/src/jdk.jconsole/share/classes/sun/tools/jconsole/inspector/Utils.java
--- a/src/jdk.jconsole/share/classes/sun/tools/jconsole/inspector/Utils.java
+++ b/src/jdk.jconsole/share/classes/sun/tools/jconsole/inspector/Utils.java
@@ -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 --git a/src/jdk.jconsole/share/classes/sun/tools/jconsole/inspector/XOperations.java b/src/jdk.jconsole/share/classes/sun/tools/jconsole/inspector/XOperations.java
--- a/src/jdk.jconsole/share/classes/sun/tools/jconsole/inspector/XOperations.java
+++ b/src/jdk.jconsole/share/classes/sun/tools/jconsole/inspector/XOperations.java
@@ -112,7 +112,7 @@
             if (methodLabel.getText().length() > 20) {
                 methodLabel.setText(methodLabel.getText().
                         substring(methodLabel.getText().
-                        lastIndexOf(".") + 1,
+                        lastIndexOf('.') + 1,
                         methodLabel.getText().length()));
             }
 
diff --git a/src/jdk.jconsole/share/classes/sun/tools/jconsole/inspector/XTree.java b/src/jdk.jconsole/share/classes/sun/tools/jconsole/inspector/XTree.java
--- a/src/jdk.jconsole/share/classes/sun/tools/jconsole/inspector/XTree.java
+++ b/src/jdk.jconsole/share/classes/sun/tools/jconsole/inspector/XTree.java
@@ -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;

Reply via email to