Joh*_*ley 92
我知道JDK中没有这方法.Apache Commons Langjoin()
在StringUtils
类中有各种重载方法,可以满足您的需求.
Nat*_*son 44
至少从2009年开始就有一个开放的功能请求.它的长短之处在于它将成为JDK 8的java.util.StringJoiner类的部分功能. http://download.java.net/lambda/b81/docs/api/java/util/StringJoiner.html
如果您有兴趣,这是Oracle问题. http://bugs.sun.com/view_bug.do?bug_id=5015163
以下是String数组中新JDK 8 StringJoiner的示例
String[] a = new String[]{"first","second","third"};
StringJoiner sj = new StringJoiner(",");
for(String s:a) sj.add(s);
System.out.println(sj); //first,second,third
Run Code Online (Sandbox Code Playgroud)
String中的实用程序方法使这更简单:
String s = String.join(",", stringArray);
Run Code Online (Sandbox Code Playgroud)
Dav*_*ard 23
您可以从Arrays
实用程序包中隐藏此功能.
import java.util.Arrays;
...
String delim = ":",
csv_record = "Field0:Field1:Field2",
fields[] = csv_record.split(delim);
String rebuilt_record = Arrays.toString(fields).replace(", ", delim).replaceAll("[\\[\\]]", "");
Run Code Online (Sandbox Code Playgroud)
Azd*_*der 16
我在这里得到了以下示例
/*
7) Join Strings using separator >>>AB$#$CD$#$EF
*/
import org.apache.commons.lang.StringUtils;
public class StringUtilsTrial {
public static void main(String[] args) {
// Join all Strings in the Array into a Single String, separated by $#$
System.out.println("7) Join Strings using separator >>>"
+ StringUtils.join(new String[] { "AB", "CD", "EF" }, "$#$"));
}
}
Run Code Online (Sandbox Code Playgroud)
Bil*_*ard 10
DZone Snippets上有几个例子,如果你想自己推出一个适用于Collection的代码片段.例如:
public static String join(AbstractCollection<String> s, String delimiter) {
if (s == null || s.isEmpty()) return "";
Iterator<String> iter = s.iterator();
StringBuilder builder = new StringBuilder(iter.next());
while( iter.hasNext() )
{
builder.append(delimiter).append(iter.next());
}
return builder.toString();
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
121793 次 |
最近记录: |