ืื ื ืืืื ืฉืืืืช ืืืฆื ืฉืื ืจืฆืืช ืืฉืจืฉืจ ืฉืืจืืช ืืจืืืืช. ืื ืื ืืชืืช ื-Java, ืื ืจืื ืฉืืฉืชืืฉืช ืืคืื ืงืฆืื
join()
ืฉืกืืคืงืช ืื ืฉืคืช ืืชืื ืืช ืขืฆืื. ืื ืืชืืช ื-Java, ืื ืืืืืช ืืขืฉืืช ืืืช ืืกืืื ืคืฉืืื - ืืฉืืื ืืื ืื ืืืืชื ืงืืืืช. ืกืคืจืืืช ืืืืชื ืืกืื ืืจืืืช ื-Java ืกืืคืงื ืื ืืช ืืืืื ืืืฆืืจ ืืืฉืืื GUI, ืืืฉืช ืืืกืืกื ื ืชืื ืื, ืืฉืืื ื ืชืื ืื ืืจื ืืจืฉืช, ืืืฆืข ืืจื ืกืคืืจืืฆืืืช ืฉื XML ืื ืืืชืงืฉืจ ืืฉืืืืช ืืกืคืจืืืช ืฉื ืฆื ืฉืืืฉื. ืฉืืื ืคืฉืืื ืืฉืจืฉืืจ ืืืกืฃ ืฉื ืืืจืืืืช ืื ื ืืืื. ืืฉื ืื, ืืืืช ืืงืืง ืืืืช ืืกืคืจืืืช ืฆื ืฉืืืฉื ืจืืืช. ืืืจืื ืืืื, ืื ืืืืข ืืกืืืื! ืื'ืืืื 8 ื ืืื ืกืืฃ ืกืืฃ ืืฉืจืฉืจ ืืืจืืืืช! Java 8 ืืืกืืคื ืืืืงื ืืืฉื ืืฉื StringJoiner
. ืืคื ืฉืืฉื ืืจืื, ืื ื ืืืืืื ืืืฉืชืืฉ ืืืืืงื ืื ืืื ืืฉืจืฉืจ ืืืจืืืืช:
StringJoiner joiner = new StringJoiner(",");
joiner.add("foo");
joiner.add("bar");
joiner.add("baz");
String joined = joiner.toString(); // "foo,bar,baz"
// add() calls can be chained
joined = new StringJoiner("-")
.add("foo")
.add("bar")
.add("baz")
.toString(); // "foo-bar-baz"
String
ืืฉืชืืฉ ืืฉืชื ืฉืืืืช ืกืืืืืช ืืืฉืืช join() StringJoiner
:
// join(CharSequence delimiter, CharSequence... elements)
String joined = String.join("/", "2014", "10", "28" ); // "2014/10/28"
// join(CharSequence delimiter, Iterable<? extends CharSequence> elements)
List<String> list = Arrays.asList("foo", "bar", "baz");
joined = String.join(";", list); // ยซfoo;bar;baz"
ืืื ืื, ืืฉืจืฉืืจ ืืืจืืืืช ืืฉ ืืื ืืืืื Collector
ื-API ืืืืฉ ืืืืฆืขืืช ืืจืืื:
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ยป
ืื ืื ืื ื ืืืืช ืื ืฆืจืืืื ืกืคืจืืืช ืฉื ืฆื ืฉืืืฉื ืืื ืืฉืจืฉืจ ืืืจืืืืช! ืืืืจ ืืงืืจื
GO TO FULL VERSION