Java 逆引き集 | 簡単なユーティリティクラス作成(static メソッド) — 共通処理集約

Java Java
スポンサーリンク

簡単なユーティリティクラス作成(static メソッド) — 共通処理集約

Javaでは「よく使う処理」を一箇所にまとめておくと便利です。
そのために ユーティリティクラス を作り、static メソッドで呼び出せるようにします。
初心者向けに、基本から例題までかみ砕いて説明します。


ユーティリティクラスの特徴

  • インスタンス不要: new しなくても呼び出せる。
  • 共通処理集約: 文字列操作、数値計算、日付処理などをまとめる。
  • 再利用性向上: プロジェクト全体で同じ処理を使い回せる。
  • 慣習: コンストラクタを private にしてインスタンス化できないようにする。

基本構文

public class MyUtils {
    // インスタンス化禁止
    private MyUtils() {}

    // 共通処理: 文字列が空かどうか
    public static boolean isEmpty(String s) {
        return s == null || s.isEmpty();
    }

    // 共通処理: 最大値を返す
    public static int max(int a, int b) {
        return (a > b) ? a : b;
    }
}
Java

👉 呼び出し例:

boolean empty = MyUtils.isEmpty("");
int bigger = MyUtils.max(10, 20);
Java

例題で練習

例題1: 文字列ユーティリティ

public class StringUtils {
    private StringUtils() {}

    public static String capitalize(String s) {
        if (s == null || s.isEmpty()) return s;
        return s.substring(0,1).toUpperCase() + s.substring(1);
    }
}
Java

呼び出し:

System.out.println(StringUtils.capitalize("hello")); // Hello
Java

例題2: 数値ユーティリティ

public class MathUtils {
    private MathUtils() {}

    public static int sum(int... nums) {
        int total = 0;
        for (int n : nums) total += n;
        return total;
    }

    public static double average(int... nums) {
        return (double) sum(nums) / nums.length;
    }
}
Java

呼び出し:

System.out.println(MathUtils.sum(1,2,3,4));     // 10
System.out.println(MathUtils.average(1,2,3,4)); // 2.5
Java

例題3: 日付ユーティリティ(java.time)

import java.time.*;

public class DateUtils {
    private DateUtils() {}

    public static String today() {
        return LocalDate.now().toString();
    }

    public static boolean isWeekend(LocalDate date) {
        DayOfWeek dow = date.getDayOfWeek();
        return dow == DayOfWeek.SATURDAY || dow == DayOfWeek.SUNDAY;
    }
}
Java

呼び出し:

System.out.println(DateUtils.today()); // 2025-12-07 など
System.out.println(DateUtils.isWeekend(LocalDate.now())); // true/false
Java

テンプレート集

ユーティリティクラスの基本形

public class Utils {
    private Utils() {} // インスタンス化禁止

    public static 戻り値型 メソッド名(引数...) {
        // 処理
    }
}
Java

呼び出し

Utils.メソッド名(引数...);
Java

実務のコツと落とし穴

  • インスタンス化禁止: private コンストラクタで封じる。
  • static メソッドは副作用少なく: 共通処理は「入力→出力」に徹する。
  • パッケージ分け: StringUtils, MathUtils, DateUtils のように役割ごとに分ける。
  • 既存ライブラリ活用: Apache Commons Lang や Guava などにも便利なユーティリティがある。

まとめ

  • ユーティリティクラスは「共通処理の倉庫」。
  • static メソッドでインスタンス不要。
  • 役割ごとに分けて整理するとプロジェクト全体で使いやすい。

👉 練習課題として「配列の最大値を返すユーティリティ」を作ってみると、static メソッドの便利さが体感できます。

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