Kaynağa Gözat

commit 3d4224cc2171a7bbf82048f09a1148aec3dda50d
Author: Mahadev Konar <mahadev@yahoo-inc.com>
Date: Fri Feb 4 12:51:17 2011 -0800

Generalize StringUtils::join
(Chris Douglas)

+++ b/YAHOO-CHANGES.txt
+ Generalize StringUtils::join (Chris Douglas)


git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/branches/yahoo-merge@1079167 13f79535-47bb-0310-9956-ffa450edef68

Owen O'Malley 14 yıl önce
ebeveyn
işleme
c259308117
1 değiştirilmiş dosya ile 10 ekleme ve 10 silme
  1. 10 10
      src/java/org/apache/hadoop/util/StringUtils.java

+ 10 - 10
src/java/org/apache/hadoop/util/StringUtils.java

@@ -29,6 +29,7 @@ import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collection;
 import java.util.Date;
+import java.util.Iterator;
 import java.util.List;
 import java.util.Locale;
 import java.util.StringTokenizer;
@@ -740,16 +741,15 @@ public class StringUtils {
    * @param separator Separator to join with.
    * @param strings Strings to join.
    */
-  public static String join(CharSequence separator, Iterable<String> strings) {
-    StringBuilder sb = new StringBuilder();
-    boolean first = true;
-    for (String s : strings) {
-      if (first) {
-        first = false;
-      } else {
-        sb.append(separator);
-      }
-      sb.append(s);
+  public static String join(CharSequence separator, Iterable<?> strings) {
+    Iterator<?> i = strings.iterator();
+    if (!i.hasNext()) {
+      return "";
+    }
+    StringBuilder sb = new StringBuilder(i.next().toString());
+    while (i.hasNext()) {
+      sb.append(separator);
+      sb.append(i.next().toString());
     }
     return sb.toString();
   }