마지막으로 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!