String.formatted()
템플릿 문자열 자체에서 formatted()를 호출합니다.
코드 비교
✕ Java 8
String msg = String.format(
"Hello %s, you are %d",
name, age
);
✓ Java 15+
String msg =
"Hello %s, you are %d"
.formatted(name, age);
이 코드에 문제가 있나요? 알려주세요.
모던 방식이 더 나은 이유
자연스럽게 읽힘
Template.formatted(args)는 String.format(template, args)보다 더 자연스럽게 흐릅니다.
체이닝 가능
다른 문자열 메서드와 체이닝할 수 있습니다.
덜 장황함
중복되는 String.format() 정적 호출을 생략합니다.
이전 방식
String.format()
모던 방식
formatted()
JDK 버전
15
난이도
초급
JDK 지원
String.formatted()
사용 가능
JDK 15 (2020년 9월) 이후 널리 사용 가능
동작 원리
String.formatted()는 String.format()의 인스턴스 메서드 동등물입니다. 정적 메서드 호출과 템플릿 인수를 혼용하지 않고 메서드를 체이닝할 수 있습니다.
관련 문서