JavaRush /Блоги Java /Random-TG /Дар Java 8 шумо метавонед сатрҳоро пайваст кунед
theGrass
Сатҳи
Саратов

Дар Java 8 шумо метавонед сатрҳоро пайваст кунед

Дар гурӯҳ нашр шудааст
Ман боварӣ дорам, ки шумо дар вазъияте будед, ки шумо мехостед якчанд сатрҳоро пайваст кунед. Агар шумо дар Java нанавиште бошед, пас шумо эҳтимолан функсияеро истифода бурдед, ки join()худи забони барномасозӣ ба шумо додааст. Агар шумо дар Java навишта бошед, шумо инро бо як сабаби оддӣ карда наметавонед - ин усул вуҷуд надошт. Китобхонаи синфҳои стандартии Java ба шумо асбобҳоро барои эҷоди замимаҳои GUI, дастрасӣ ба пойгоҳи додаҳо, фиристодани маълумот тавассути шабака, тағир додани XML ё даъват кардани усулҳо аз китобхонаҳои тарафи сеюм фароҳам меорад. Усули оддии пайвастани маҷмӯи сатрҳо дохил карда нашудааст. Барои ин ба шумо яке аз китобхонаҳои сеюм лозим буд. Дар Java 8 шумо метавонед сатрҳоро пайваст кунед - 1Хушбахтона, ин ба охир расид! Дар Java 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»
Ҳамин тариқ, ба мо дигар ба китобхонаҳои тарафи сеюм барои пайваст кардани сатрҳо ниёз надорем! Мақолаи аслӣ
Шарҳҳо
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION