1. 導入:なぜText Blocksが重要なのか
JavaでSQLやJSON、HTMLといった長い文字列を扱う際、従来のやり方では「+」演算子で結合したり、改行コード(\n)を多用したりと、コードが非常に読みづらくなりがちでした。さらに、エスケープ処理のせいで本来の構造が見えなくなることも課題です。
Java 15から正式導入された「Text Blocks」を使えば、これらの煩雑な記述から解放され、直感的で美しいコードが書けるようになります。
2. 基礎知識:Text Blocksとは何か
Text Blocksは、トリプルクォート(”””)で囲まれた複数行の文字列リテラルです。
Javaでは変数を扱う際に「参照型」として文字列を扱いますが、これまで文字列リテラル(”…”)は1行でしか書けませんでした。Text Blocksを使うことで、ソースコード上の見た目そのままに文字列を定義できます。
また、Java 10から導入された型推論(var)と組み合わせることで、さらに簡潔な記述が可能です。
3. 実装・解決策:基本的な使い方
Text Blocksは、開始の”””を記述した直後に改行を入れるのがルールです。
また、自動的に「インデントの調整(共通の空白除去)」が行われるため、コード内で深くインデントしていても、出力される文字列には不要な空白が含まれません。これにより、クラスの中やメソッド内で綺麗に配置することが可能です。
4. サンプルプログラム
以下のコードをコピーして、Java 15以上の環境で実行してみてください。
public class TextBlocksSample {
public static void main(String[] args) {
// varを使った型推論で、簡潔に文字列を定義
var json = """
{
"id": 1,
"name": "Javaエンジニア",
"role": "Senior"
}
""";
// SQLのような複数行文字列も非常に読みやすい
var sql = """
SELECT id, name
FROM users
WHERE status = 'ACTIVE'
""";
System.out.println("--- JSON ---");
System.out.println(json);
System.out.println("--- SQL ---");
System.out.println(sql);
}
}
5. 応用・注意点:現場で役立つTIPS
インデントの挙動を理解する
Text Blocksは、右側の閉じトリプルクォート(”””)の位置に合わせて、先頭の空白を自動で削除します。そのため、閉じトリプルクォートを左端に寄せて書くのがコツです。
エスケープ処理の削減
従来の文字列ではダブルクォート(”)自体を表示するために \” と書く必要がありましたが、Text Blocks内ではそのまま ” を書くことができます。ただし、トリプルクォート(”””)そのものを文字列内で使いたい場合は、一部エスケープが必要です。
まとめ
Text Blocksは単なる「見た目の改善」だけでなく、可読性を高めることでバグの混入を防ぐ強力なツールです。特にJSONやSQLを扱う機会が多い現代のJava開発では、積極的に活用していきましょう。

コメント