JavaRush /Java Blog /Random-KO /Java 8에서는 문자열을 연결할 수 있습니다
theGrass
레벨 24
Саратов

Java 8에서는 문자열을 연결할 수 있습니다

Random-KO 그룹에 게시되었습니다
여러 줄을 연결하고 싶은 상황에 처해 계셨을 것입니다. 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