複数行文字列のテキストブロック
トリプルクォートのテキストブロックで複数行の文字列を自然に記述できる。
コード比較
✕ Java 8
String json = "{\n" +
" \"name\": \"Duke\",\n" +
" \"age\": 30\n" +
"}";
✓ Java 15+
String json = """
{
"name": "Duke",
"age": 30
}""";
このコードに問題がありますか? お知らせください。
モダンな方法が優れている理由
そのまま読める
JSON、SQL、HTMLがソースコード上でも本物のJSON、SQL、HTMLのように見えます。
エスケープ地獄からの解放
埋め込まれたクォートにバックスラッシュエスケープは不要です。
スマートなインデント
閉じデリミタの位置に基づき、先頭の空白が自動的に除去されます。
旧来のアプローチ
文字列の連結
モダンなアプローチ
テキストブロック
JDKバージョン
15
難易度
初級
JDKサポート
複数行文字列のテキストブロック
利用可能
JDK 15(2020年9月)以降、広く利用可能
仕組み
テキストブロックを使うと、複数行の文字列をそのままの形で記述できます。クォートのエスケープや\nの追加は不要です。コンパイラが余分なインデントを自動的に除去します。
関連ドキュメント