JavaScript 有Array.join()
Array.join()
js>["Bill","Bob","Steve"].join(" and ") Bill and Bob and Steve
Java有这样的东西吗?我知道我可以自己拼凑一些东西StringBuilder:
StringBuilder
static public String join(List<String> list, String conjunction) { StringBuilder sb = new StringBuilder(); boolean first = true; for (String item : list) { if (first) first = false; else sb.append(conjunction); sb.append(item); } return sb.toString(); }
..但是如果类似的东西已经是JDK的一部分,那么这样做是没有意义的。
使用 Java 8,您无需任何第三方库即可做到这一点。
如果你想加入一个字符串集合,你可以使用新的String.join()方法:
List<String> list = Arrays.asList("foo", "bar", "baz"); String joined = String.join(" and ", list); // "foo and bar and baz"
如果你有一个 Collection 的类型不是 String ,你可以使用 Stream API 和加入 Collector:
List<Person> list = Arrays.asList( new Person("John", "Smith"), new Person("Anna", "Martinez"), new Person("Paul", "Watson ") ); String joinedFirstNames = list.stream() .map(Person::getFirstName) .collect(Collectors.joining(", ")); // "John, Anna, Paul"
该类StringJoiner也可能有用。
StringJoiner