>  기사  >  Java  >  Java8 StringJoiner의 자세한 코드 설명

Java8 StringJoiner의 자세한 코드 설명

黄舟
黄舟원래의
2017-03-24 11:02:091719검색

마지막으로 Java 8은 java.util 패키지 아래에 StringJoiner 클래스를 출시합니다. 저는 이것이 문자열을 연결하기 위해 StringBuffer/StringBuilder를 사용하는 기존 접근 방식과 근본적으로 다른 구현이라고 생각하지 않습니다. StringJoiner의 사용법과 내부 구현을 살펴보겠습니다.

예를 들어 "Smart"와 "Techie"라는 두 개의 문자열이 있는데 이 문자열을 [Smart,Techie]로 연결하려고 합니다. 이 경우 내 접두사는 ​​"[", 접미사는 ​​"]", 구분 기호는 ","입니다. StringJoiner에는 다음 두 개의 생성자 가 있습니다.

StringJoiner(CharSequence delimiter)
StringJoiner(CharSequence delimiter, CharSequence prefix, CharSequence suffix)

접두사와 접미사가 필요하므로 예제에서 두 번째 생성자를 사용하세요.

StringJoiner sjr = new StringJoiner(",", "[", "]");
sjr.add("Smart").add("Techie");
System.out.println("The final Joined string is " + sjr);

접두사와 접미사를 원하지 않으면 다음과 같이 하세요.

sjr1.add("Smart").add("Techie");
System.out.println("The final Joined string is " + sjr1);

이제 add 및 toString() 메소드 구현을 살펴보겠습니다.

public StringJoiner add(CharSequence newElement) {
   prepareBuilder().append(newElement);
   return this;
}

prepareBuilder()는 다음과 같이 구현됩니다.

private StringBuilder prepareBuilder() {
    if (value != null) {
       value.append(delimiter);
    } else {
       value = new StringBuilder().append(prefix);
    }
    return value;
}

위의 구현에서 StringJoiner가 구식 접근 방식을 따르는 것이 분명합니다.

toString()은 다음과 같이 구현됩니다.

아아아아

위 내용은 Java8 StringJoiner의 자세한 코드 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.