jdk/src/java.base/share/classes/java/io/ObjectOutputStream.java
changeset 26219 1a19360ff122
parent 25859 3317bb8137f4
child 29986 97167d851fc4
--- a/jdk/src/java.base/share/classes/java/io/ObjectOutputStream.java	Wed Aug 27 11:33:45 2014 +0800
+++ b/jdk/src/java.base/share/classes/java/io/ObjectOutputStream.java	Wed Aug 27 22:08:19 2014 +0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1996, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 2014, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -32,6 +32,7 @@
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
+import java.util.StringJoiner;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.ConcurrentMap;
 import static java.io.ObjectStreamClass.processQueue;
@@ -2465,15 +2466,11 @@
          * Returns a string representation of this object
          */
         public String toString() {
-            StringBuilder buffer = new StringBuilder();
-            if (!stack.isEmpty()) {
-                for(int i = stack.size(); i > 0; i-- ) {
-                    buffer.append(stack.get(i - 1));
-                    if (i != 1)
-                        buffer.append('\n');
-                }
+            StringJoiner sj = new StringJoiner("\n");
+            for (int i = stack.size() - 1; i >= 0; i--) {
+                sj.add(stack.get(i));
             }
-            return buffer.toString();
+            return sj.toString();
         }
     }