On 04/27/2014 03:15 PM, Otávio Gonçalves de Santana wrote:
There is an issue that was opened to remove redundant calls of toString()
on String objects. [1]
I went deep on all JVM sources and I found all, 32 changes.


[1]https://bugs.openjdk.java.net/browse/JDK-8015470

Otavio,
calling toString() on a String has the side effect to implicitly check
that the reference is not null.
Do you have checked that for each redundant call, the String can never be null ?

regards,
Rémi



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 01:40:27 2014 -0300
@@ -1653,20 +1653,20 @@
              String expr = t.nextToken("");
              Value val = evaluate(expr);
              if (val == null) {
-                MessageOutput.println("expr is null", expr.toString());
+                MessageOutput.println("expr is null", expr);
              } else if (dumpObject && (val instanceof ObjectReference) &&
                         !(val instanceof StringReference)) {
                  ObjectReference obj = (ObjectReference)val;
                  ReferenceType refType = obj.referenceType();
                  MessageOutput.println("expr is value",
-                                      new Object [] {expr.toString(),
+                                      new Object [] {expr,

MessageOutput.format("grouping begin character")});
                  dump(obj, refType, refType);
                  MessageOutput.println("grouping end character");
              } else {
                    String strVal = getStringValue();
                    if (strVal != null) {
-                     MessageOutput.println("expr is value", new Object []
{expr.toString(),
+                     MessageOutput.println("expr is value", new Object []
{expr,

  strVal});
                     }
              }
diff -r e323c74edabd
src/share/classes/java/lang/annotation/IncompleteAnnotationException.java
---
a/src/share/classes/java/lang/annotation/IncompleteAnnotationException.java Wed
Apr 23 11:35:40 2014 -0700
+++
b/src/share/classes/java/lang/annotation/IncompleteAnnotationException.java Sat
Apr 26 01:40:27 2014 -0300
@@ -56,7 +56,7 @@
              Class<? extends Annotation> annotationType,
              String elementName) {
          super(annotationType.getName() + " missing element " +
-              elementName.toString());
+              elementName);

          this.annotationType = annotationType;
          this.elementName = elementName;
diff -r e323c74edabd src/share/classes/java/text/DateFormatSymbols.java
--- a/src/share/classes/java/text/DateFormatSymbols.java Wed Apr 23
11:35:40 2014 -0700
+++ b/src/share/classes/java/text/DateFormatSymbols.java Sat Apr 26 01:40:27
2014 -0300
@@ -593,8 +593,8 @@
       * pattern characters.
       */
      public void setLocalPatternChars(String newLocalPatternChars) {
-        // Call toString() to throw an NPE in case the argument is null
-        localPatternChars = newLocalPatternChars.toString();
+
+        localPatternChars = Objects.requireNonNull(newLocalPatternChars);
          cachedHashCode = 0;
      }

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 01:40:27 2014 -0300
@@ -665,7 +665,7 @@
                              "getFieldNames()", "Field is null");
                  }
              } else {
-                responseFields[i] = currElement.getKey().toString();
+                responseFields[i] = currElement.getKey();
              }
          }

@@ -929,8 +929,8 @@
              if (currElement != null) {
                  if (currElement.getValue() != null) {
                      // validate the field valued...
-                    if (validateField((currElement.getKey()).toString(),
-
  (currElement.getValue()).toString())) {
+                    if (validateField((currElement.getKey()),
+                                      (currElement.getValue()))) {
                          continue;
                      } else {
                          if (MODELMBEAN_LOGGER.isLoggable(Level.FINEST)) {
diff -r e323c74edabd src/share/classes/javax/swing/text/html/FormView.java
--- a/src/share/classes/javax/swing/text/html/FormView.java Wed Apr 23
11:35:40 2014 -0700
+++ b/src/share/classes/javax/swing/text/html/FormView.java Sat Apr 26
01:40:27 2014 -0300
@@ -478,7 +478,7 @@
                                          base.getPort(), base.getFile())
                  : new URL(base, action);
              if (!isPostMethod) {
-                String query = data.toString();
+                String query = data;
                  actionURL = new URL(actionURL + "?" + query);
              }
          } catch (MalformedURLException e) {
diff -r e323c74edabd src/share/classes/sun/java2d/loops/Blit.java
--- a/src/share/classes/sun/java2d/loops/Blit.java Wed Apr 23 11:35:40 2014
-0700
+++ b/src/share/classes/sun/java2d/loops/Blit.java Sat Apr 26 01:40:27 2014
-0300
@@ -50,7 +50,7 @@

  public class Blit extends GraphicsPrimitive
  {
-    public static final String methodSignature = "Blit(...)".toString();
+    public static final String methodSignature = "Blit(...)";

      public static final int primTypeID = makePrimTypeID();

diff -r e323c74edabd src/share/classes/sun/java2d/loops/BlitBg.java
--- a/src/share/classes/sun/java2d/loops/BlitBg.java Wed Apr 23 11:35:40
2014 -0700
+++ b/src/share/classes/sun/java2d/loops/BlitBg.java Sat Apr 26 01:40:27
2014 -0300
@@ -54,7 +54,7 @@
   */
  public class BlitBg extends GraphicsPrimitive
  {
-    public static final String methodSignature = "BlitBg(...)".toString();
+    public static final String methodSignature = "BlitBg(...)";

      public static final int primTypeID = makePrimTypeID();

diff -r e323c74edabd src/share/classes/sun/java2d/loops/DrawGlyphList.java
--- a/src/share/classes/sun/java2d/loops/DrawGlyphList.java Wed Apr 23
11:35:40 2014 -0700
+++ b/src/share/classes/sun/java2d/loops/DrawGlyphList.java Sat Apr 26
01:40:27 2014 -0300
@@ -39,7 +39,7 @@
   */
  public class DrawGlyphList extends GraphicsPrimitive {

-    public final static String methodSignature =
"DrawGlyphList(...)".toString();
+    public final static String methodSignature = "DrawGlyphList(...)";

      public final static int primTypeID = makePrimTypeID();

diff -r e323c74edabd src/share/classes/sun/java2d/loops/DrawGlyphListAA.java
--- a/src/share/classes/sun/java2d/loops/DrawGlyphListAA.java Wed Apr 23
11:35:40 2014 -0700
+++ b/src/share/classes/sun/java2d/loops/DrawGlyphListAA.java Sat Apr 26
01:40:27 2014 -0300
@@ -39,7 +39,7 @@
   */
  public class DrawGlyphListAA extends GraphicsPrimitive {

-    public final static String methodSignature =
"DrawGlyphListAA(...)".toString();
+    public final static String methodSignature = "DrawGlyphListAA(...)";

      public final static int primTypeID = makePrimTypeID();

diff -r e323c74edabd
src/share/classes/sun/java2d/loops/DrawGlyphListLCD.java
--- a/src/share/classes/sun/java2d/loops/DrawGlyphListLCD.java Wed Apr 23
11:35:40 2014 -0700
+++ b/src/share/classes/sun/java2d/loops/DrawGlyphListLCD.java Sat Apr 26
01:40:27 2014 -0300
@@ -40,7 +40,7 @@
  public class DrawGlyphListLCD extends GraphicsPrimitive {

      public final static String
-        methodSignature = "DrawGlyphListLCD(...)".toString();
+        methodSignature = "DrawGlyphListLCD(...)";

      public final static int primTypeID = makePrimTypeID();

diff -r e323c74edabd src/share/classes/sun/java2d/loops/DrawLine.java
--- a/src/share/classes/sun/java2d/loops/DrawLine.java Wed Apr 23 11:35:40
2014 -0700
+++ b/src/share/classes/sun/java2d/loops/DrawLine.java Sat Apr 26 01:40:27
2014 -0300
@@ -44,7 +44,7 @@
   */
  public class DrawLine extends GraphicsPrimitive
  {
-    public final static String methodSignature =
"DrawLine(...)".toString();
+    public final static String methodSignature = "DrawLine(...)";

      public final static int primTypeID = makePrimTypeID();

diff -r e323c74edabd
src/share/classes/sun/java2d/loops/DrawParallelogram.java
--- a/src/share/classes/sun/java2d/loops/DrawParallelogram.java Wed Apr 23
11:35:40 2014 -0700
+++ b/src/share/classes/sun/java2d/loops/DrawParallelogram.java Sat Apr 26
01:40:27 2014 -0300
@@ -43,7 +43,7 @@
  public class DrawParallelogram extends GraphicsPrimitive
  {
      public final static String methodSignature =
-        "DrawParallelogram(...)".toString();
+        "DrawParallelogram(...)";

      public final static int primTypeID = makePrimTypeID();

diff -r e323c74edabd src/share/classes/sun/java2d/loops/DrawPath.java
--- a/src/share/classes/sun/java2d/loops/DrawPath.java Wed Apr 23 11:35:40
2014 -0700
+++ b/src/share/classes/sun/java2d/loops/DrawPath.java Sat Apr 26 01:40:27
2014 -0300
@@ -39,7 +39,7 @@
  public class DrawPath extends GraphicsPrimitive {

      public final static String methodSignature =
-        "DrawPath(...)".toString();
+        "DrawPath(...)";

      public final static int primTypeID = makePrimTypeID();

diff -r e323c74edabd src/share/classes/sun/java2d/loops/DrawPolygons.java
--- a/src/share/classes/sun/java2d/loops/DrawPolygons.java Wed Apr 23
11:35:40 2014 -0700
+++ b/src/share/classes/sun/java2d/loops/DrawPolygons.java Sat Apr 26 01:40:27
2014 -0300
@@ -41,7 +41,7 @@
   */
  public class DrawPolygons extends GraphicsPrimitive
  {
-    public final static String methodSignature =
"DrawPolygons(...)".toString();
+    public final static String methodSignature = "DrawPolygons(...)";

      public final static int primTypeID = makePrimTypeID();

diff -r e323c74edabd src/share/classes/sun/java2d/loops/DrawRect.java
--- a/src/share/classes/sun/java2d/loops/DrawRect.java Wed Apr 23 11:35:40
2014 -0700
+++ b/src/share/classes/sun/java2d/loops/DrawRect.java Sat Apr 26 01:40:27
2014 -0300
@@ -44,7 +44,7 @@
   */
  public class DrawRect extends GraphicsPrimitive
  {
-    public final static String methodSignature =
"DrawRect(...)".toString();
+    public final static String methodSignature = "DrawRect(...)";

      public final static int primTypeID = makePrimTypeID();

diff -r e323c74edabd
src/share/classes/sun/java2d/loops/FillParallelogram.java
--- a/src/share/classes/sun/java2d/loops/FillParallelogram.java Wed Apr 23
11:35:40 2014 -0700
+++ b/src/share/classes/sun/java2d/loops/FillParallelogram.java Sat Apr 26
01:40:27 2014 -0300
@@ -41,7 +41,7 @@
  public class FillParallelogram extends GraphicsPrimitive
  {
      public final static String methodSignature =
-        "FillParallelogram(...)".toString();
+        "FillParallelogram(...)";

      public final static int primTypeID = makePrimTypeID();

diff -r e323c74edabd src/share/classes/sun/java2d/loops/FillPath.java
--- a/src/share/classes/sun/java2d/loops/FillPath.java Wed Apr 23 11:35:40
2014 -0700
+++ b/src/share/classes/sun/java2d/loops/FillPath.java Sat Apr 26 01:40:27
2014 -0300
@@ -39,7 +39,7 @@
  public class FillPath extends GraphicsPrimitive {

      public final static String methodSignature =
-        "FillPath(...)".toString();
+        "FillPath(...)";

      public final static int primTypeID = makePrimTypeID();

diff -r e323c74edabd src/share/classes/sun/java2d/loops/FillRect.java
--- a/src/share/classes/sun/java2d/loops/FillRect.java Wed Apr 23 11:35:40
2014 -0700
+++ b/src/share/classes/sun/java2d/loops/FillRect.java Sat Apr 26 01:40:27
2014 -0300
@@ -44,7 +44,7 @@
   */
  public class FillRect extends GraphicsPrimitive
  {
-    public final static String methodSignature =
"FillRect(...)".toString();
+    public final static String methodSignature = "FillRect(...)";

      public final static int primTypeID = makePrimTypeID();

diff -r e323c74edabd src/share/classes/sun/java2d/loops/FillSpans.java
--- a/src/share/classes/sun/java2d/loops/FillSpans.java Wed Apr 23 11:35:40
2014 -0700
+++ b/src/share/classes/sun/java2d/loops/FillSpans.java Sat Apr 26 01:40:27
2014 -0300
@@ -45,7 +45,7 @@
   */
  public class FillSpans extends GraphicsPrimitive
  {
-    public final static String methodSignature =
"FillSpans(...)".toString();
+    public final static String methodSignature = "FillSpans(...)";

      public final static int primTypeID = makePrimTypeID();

diff -r e323c74edabd src/share/classes/sun/java2d/loops/MaskBlit.java
--- a/src/share/classes/sun/java2d/loops/MaskBlit.java Wed Apr 23 11:35:40
2014 -0700
+++ b/src/share/classes/sun/java2d/loops/MaskBlit.java Sat Apr 26 01:40:27
2014 -0300
@@ -48,7 +48,7 @@

  public class MaskBlit extends GraphicsPrimitive
  {
-    public static final String methodSignature =
"MaskBlit(...)".toString();
+    public static final String methodSignature = "MaskBlit(...)";

      public static final int primTypeID = makePrimTypeID();

diff -r e323c74edabd src/share/classes/sun/java2d/loops/MaskFill.java
--- a/src/share/classes/sun/java2d/loops/MaskFill.java Wed Apr 23 11:35:40
2014 -0700
+++ b/src/share/classes/sun/java2d/loops/MaskFill.java Sat Apr 26 01:40:27
2014 -0300
@@ -50,11 +50,11 @@
   */
  public class MaskFill extends GraphicsPrimitive
  {
-    public static final String methodSignature =
"MaskFill(...)".toString();
+    public static final String methodSignature = "MaskFill(...)";
      public static final String fillPgramSignature =
-        "FillAAPgram(...)".toString();
+        "FillAAPgram(...)";
      public static final String drawPgramSignature =
-        "DrawAAPgram(...)".toString();
+        "DrawAAPgram(...)";

      public static final int primTypeID = makePrimTypeID();

diff -r e323c74edabd src/share/classes/sun/java2d/loops/ScaledBlit.java
--- a/src/share/classes/sun/java2d/loops/ScaledBlit.java Wed Apr 23
11:35:40 2014 -0700
+++ b/src/share/classes/sun/java2d/loops/ScaledBlit.java Sat Apr 26 01:40:27
2014 -0300
@@ -45,7 +45,7 @@

  public class ScaledBlit extends GraphicsPrimitive
  {
-    public static final String methodSignature =
"ScaledBlit(...)".toString();
+    public static final String methodSignature = "ScaledBlit(...)";

      public static final int primTypeID = makePrimTypeID();

diff -r e323c74edabd src/share/classes/sun/java2d/loops/TransformBlit.java
--- a/src/share/classes/sun/java2d/loops/TransformBlit.java Wed Apr 23
11:35:40 2014 -0700
+++ b/src/share/classes/sun/java2d/loops/TransformBlit.java Sat Apr 26
01:40:27 2014 -0300
@@ -47,7 +47,7 @@
  public class TransformBlit extends GraphicsPrimitive
  {
      public static final String methodSignature =
-        "TransformBlit(...)".toString();
+        "TransformBlit(...)";

      public static final int primTypeID = makePrimTypeID();

diff -r e323c74edabd src/share/classes/sun/java2d/loops/TransformHelper.java
--- a/src/share/classes/sun/java2d/loops/TransformHelper.java Wed Apr 23
11:35:40 2014 -0700
+++ b/src/share/classes/sun/java2d/loops/TransformHelper.java Sat Apr 26
01:40:27 2014 -0300
@@ -46,7 +46,7 @@
  public class TransformHelper extends GraphicsPrimitive
  {
      public static final String methodSignature =
-        "TransformHelper(...)".toString();
+        "TransformHelper(...)";

      public static final int primTypeID = makePrimTypeID();

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 01:40:27
2014 -0300
@@ -260,11 +260,11 @@

          // Convert token into meaning number for comparision
          if (stk.hasMoreTokens())
-            n = convertToken(stk.nextToken().toString());
+            n = convertToken(stk.nextToken());

          // Convert token into meaning number for comparision
          if (ttk.hasMoreTokens())
-            m = convertToken(ttk.nextToken().toString());
+            m = convertToken(ttk.nextToken());

          if (n > m)
              return 1;
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
01:40:27 2014 -0300
@@ -378,7 +378,7 @@
              if (userInput instanceof XObject) {
                  result[i] = ((XObject) userInput).getObject();
              } else {
-                result[i] = createObjectFromString(params[i].toString(),
+                result[i] = createObjectFromString(params[i],
                          (String) userInput);
              }
          }



Reply via email to