【Java】Java 15で正式リリースされたText Blocksとは?

スポンサーリンク

Text Blocksの概要

Text Blocksは、エスケープシーケンスを含む文字列を扱うための新機能で、Java 15で正式リリースされました。

従来のJavaでは、改行を含む文字列を扱うために、\rや\nなどのエスケープシーケンスを使っていました。
しかし、エスケープシーケンスを使用すると、コーディングが複雑になり、可読性が低下するという問題がありました。

そこで登場したのがText Blocksになります。

Text Blocksは、エスケープシーケンスを必要とせず、文字列の改行やタブなどを表現できます
これにより、ソースコードの可読性が向上し、コーディングの効率を上げることができます。

Text Blocksの使い方

記述方法

Text Blocksの記述は簡単です。
エスケープシーケンスを含む文字列を、3つのダブルクォーテーション(”)で囲むだけです。

		// 従来
		String strA = "これは\"1行目\"の文字列です。\n" +
				"これは\"2行目\"の文字列です。";

		// Text Blocks
		String strB = """
				これは"1行目"の文字列です。
				これは"2行目"の文字列です。
				""";
		System.out.println("-----従来-----");
		System.out.println(strA);
		System.out.println("-----Text Blocks-----");
		System.out.println(strB);

出力結果は以下になります。

-----従来-----
これは"1行目"の文字列です。
これは"2行目"の文字列です。
-----Text Blocks-----
これは"1行目"の文字列です。
これは"2行目"の文字列です

従来とText Blocksの2つのソースコードを比べると、以下のことがわかります。

  • 従来は、文字列にエスケープシーケンスが挟まれることで、可読性が低下し、出力結果がわかりづらい。
  • Text Bloksは、エスケープシーケンスが不要なため、可読性が向上し、意図した出力結果がわかりやすい。

ソースコード例

他にもText Blocksを活かしたソースコードの例を見ていきましょう。

SQL

Text Blocksを使用することで、簡潔で可読性の高いSQL文を表現することができます。

ソースコード
		String strSQL = """
				SELECT * FROM users
					WHERE name = 'John'
				;
				""";

		System.out.println(strSQL);
実行結果
SELECT * FROM users
	WHERE name = 'John'
;

HTML

Text Blocksを使用することで、簡潔で可読性の高いHTML文を表現することができます。

ソースコード
		String strHTML = """
				<!DOCTYPE html>
				<html lang="ja">
					<head>
						<title>Text Blocksの例</title>
					</head>

					<body>
						<h1>Text Blocks</h1>
						<p>
							これは1行目の文字列です。
							これは2行目の文字列です。
						</p>
					</body>
				</html>
				""";

		System.out.println(strHTML);
実行結果
<!DOCTYPE html>
<html lang="ja">
	<head>
		<title>Text Blocksの例</title>
	</head>

	<body>
		<h1>Text Blocks</h1>
		<p>
			これは1行目の文字列です。
			これは2行目の文字列です。
		</p>
	</body>
</html>

Text BlocksからList型の生成

ここでは、Text Blocksから改行コードの区切りでList型を作成する方法について紹介します。

		String text = """
				これは1行目の文字列です。
				これは2行目の文字列です。
				""";

		List<String> list = Arrays.asList(text.split("\n"));

		System.out.println(list);
[これは1行目の文字列です。, これは2行目の文字列です。]

まとめ

Text Blocksを利用することで、コードの可読性やコーディングの効率はグンと上がります。

私も仕事でSQLをJavaファイルに記載することがありますが、Text Blocksを利用することで格段に読みやすいプログラムを作成することができます。

今後、エスケープシーケンスを含む文字列を作成することがあれば、是非利用してみてはいかがでしょうか。

Java基本
はじめまして
blueze

企業でアプリ開発をしているJavaプログラマーです。
当ブログでは、Javaを中心にIT系の発信をしています。
取得資格:Java Gold、AWS CLF、教育免許
趣味:将棋、野球、ゲーム

bluezeをフォローする
bluezeをフォローする
一緒に学ぶエンジニア

コメント

タイトルとURLをコピーしました