Java 逆引き集 | String 操作 - 表示・ログ処理

Java Java
スポンサーリンク

String 操作の全体イメージ

文字列操作は「画面表示」「ログ出力」「メッセージ生成」で毎日のように使う基本スキルです。 Java では concatsubstringformat などのメソッドを使って、文字列をつないだり、切り出したり、整形したりします。 ここを丁寧に押さえておくと、ログも画面表示も「読みやすく・意図が伝わる形」で書けるようになります。

concat で文字列をつなぐ

concat の基本

concat は「文字列を後ろにくっつける」メソッドです。

String hello = "Hello";
String world = "World";

String result = hello.concat(" ").concat(world);
System.out.println(result); // Hello World
JavaScript

+ 演算子とやっていることは同じですが、「メソッドとして連結している」ことがはっきり見えるのが特徴です。 "Hello" + " " + "World" と書く代わりに、hello.concat(" ").concat(world) と書くイメージです。

concat と + の違いを意識する

初心者向けには「基本は + でOK、メソッドとして書きたいときは concat」くらいの理解で十分です。 ただし、null に対して concat を呼ぶと NPE になるので、そこだけ注意が必要です。

String s = null;
// s.concat("X"); // ここで NullPointerException
JavaScript

一方、"prefix" + s のような書き方だと、snull のとき "prefixnull" という文字列になります。 ログなどで「null という文字列でもいいから出したい」のか、「null のときはそもそも連結したくない」のかを意識して、どちらの書き方を選ぶか決めるとよいです。

substring で一部を切り出す

substring の基本形

substring は「文字列の一部を切り出す」メソッドです。

String text = "HelloWorld";

String sub1 = text.substring(0, 5);      // 0文字目から4文字目まで
String sub2 = text.substring(5);         // 5文字目から最後まで

System.out.println(sub1); // Hello
System.out.println(sub2); // World
JavaScript

インデックスは 0 始まりで、「開始位置は含む」「終了位置は含まない」というルールです。 substring(0, 5) は「0,1,2,3,4 の5文字」を切り出す、というイメージになります。

ログや表示でよくある使い方

ログや表示では、「先頭何文字だけを見せたい」「日付文字列から年・月・日を切り出したい」といった場面で substring をよく使います。

String date = "2026-07-11";

String year = date.substring(0, 4);   // "2026"
String month = date.substring(5, 7);  // "07"
String day = date.substring(8, 10);   // "11"

System.out.println(year + "年" + month + "月" + day + "日");
JavaScript

ここで重要なのは、「インデックスをハードコードしている」ということです。 フォーマットが変わると一気に壊れるので、「この文字列は必ずこの形式で来る」という前提があるときだけ使うようにするのが安全です。

format で「きれいなメッセージ」を作る

String.format の基本

String.format は「テンプレート文字列に値を埋め込んで、整形された文字列を作る」メソッドです。

String name = "MONO";
int age = 25;

String message = String.format("名前: %s, 年齢: %d", name, age);
System.out.println(message); // 名前: MONO, 年齢: 25
JavaScript

%s は文字列、%d は整数を埋め込む場所を表しています。 テンプレートの形を先に決めておいて、あとから値だけ差し込むイメージです。

ログ出力での format の使い方

ログでは「決まったフォーマットで情報を並べたい」ことが多いので、String.format がとても役立ちます。

String user = "taro";
String action = "LOGIN";
String time = "2026-07-11 18:36";

String log = String.format("[%s] user=%s action=%s", time, user, action);
System.out.println(log);
// [2026-07-11 18:36] user=taro action=LOGIN
JavaScript

+ でつなぐより、「どんな形で出したいか」がテンプレートとして一目で分かるのがポイントです。 ログフォーマットを仕様として決めておき、その通りに String.format で組み立てると、後から見返したときに非常に読みやすくなります。

数値や桁数の整形

String.format は、数値の桁数や小数点以下の桁数を揃えるのにも使えます。

double price = 1234.5;

String formatted = String.format("価格: %.2f 円", price);
System.out.println(formatted); // 価格: 1234.50 円
JavaScript

%.2f は「小数点以下2桁の浮動小数点数」という意味です。 レポート表示やログで「桁数を揃えたい」「見た目をきれいにしたい」ときに、こうした指定が効いてきます。

まとめと意識してほしいポイント

concat は「文字列をつなぐ」ためのメソッドで、+ とほぼ同じ役割ですが、null の扱いが違うことを意識して使うとよいです。 substring は「一部を切り出す」ためのメソッドで、インデックスの範囲とフォーマット前提をきちんと意識して使うことが重要です。 format は「テンプレートに値を埋め込んで、読みやすいメッセージやログを作る」ためのメソッドで、表示・ログ処理の質を一段上げてくれます。

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