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()と等価なインスタンスメソッドですが、フォーマット文字列自身に対して呼び出します。左から右へのフローとしてより自然に読めます。
関連ドキュメント