記憶庫

自分用のメモです。

ユーティリティクラス

汎用的に使用し、かつ状態を保持しておく必要のない機能は、static メソッド化してユーティリティクラスにて提供するとよい。

実装例

以下は、簡単なユーティリティクラスの例。

/**
 * 【文字列ユーティリティ】
 * 文字列操作・変換を行うためのユーティリティクラスです。
 */
public final class StringUtility {
	
	// インスタンスの生成は許可しない。
	private StringUtility() {}
	
	/**
	 * 引数に指定した文字列が null だった時、空文字に変換して返却します。
	 * それ以外の時は、指定された文字列をそのまま返却します。
	 * 
	 * @param str	変換対象の文字列
	 * @return		変換後の文字列
	 */
	public static String null2Blank(String str) {
		
		return (null == str) ? "" : str;
	}
	
	/**
	 * 引数に指定された文字列が空文字か否かを論理値で取得します。
	 * 
	 * @param str	文字列
	 * @return	空文字の時:true/空文字ではない時:false
	 */
	public static boolean isEmpty(String str) {
		
		return ("".equals(str)) ? true : false;
	}
}

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

  1. クラスを final で宣言し、継承を許可しない。
  2. コンストラクタを private で宣言し、インスタンスの生成を許可しない。コンストラクタ内で実行時例外を throw し、クラス内からもインスタンスを生成できないようにしておけば磐石。
  3. メソッドは全て static となる。