Java でユーティリティクラスを作成する

Java のユーティリティクラスは、ヘルパークラスとも呼ばれます。これは、再利用できるメソッドを作成するための効率的な方法です。何度も使用する必要のあるコードは、ユーティリティクラス内に配置できます。
Java でのユーティリティクラスの使用
Java ユーティリティクラスはステートレスクラスであり、final
および public
キーワードを使用してインスタンス化および宣言することはできません。以下の例では、インスタンス化を防ぐプライベートコンストラクターを持つ UtilityClassExample
があります。たとえば、Apache StringUtils
、CollectionUtils
、java.lang.Math
などの Java の Util クラスの例はたくさんあります。
オブジェクトメソッドにはインスタンス化が必要なため、ユーティリティクラスのメソッドは、abstract
ではなく static
に宣言する必要があります。最後のキーワードはサブクラス化を防ぎます。ここでは、private
コンストラクターを使用して独自の Utility クラスを作成します。このコンストラクターは、呼び出されると例外をスローします。private
コンストラクターを宣言したため、デフォルトを作成できません。したがって、クラスをインスタンス化することはできません。
以下のコードでは、UtilityClassExample
のすべてのメンバを static にしています。2つの int
または float
型変数を加算または減算する必要がある場合は、コードを再利用するためにユーティリティクラスにメソッドを作成しました。10 を掛けた数値を返すメソッドもあります。
メソッド addFloatValues()
では、Math.round()
を使用して結果を最も近い int に丸めています。Float
クラスには、2つの float 引数の合計を返す sum()
メソッドがあります。このユーティリティクラスの各メンバーメソッドを呼び出して引数を渡し、クラス TestUtitity
の main()
メソッドに出力を出力します。したがって、このユーティリティクラスには、非常に頻繁に使用されるメソッドがあります。
public final class UtilityClassExample {
private static final int constantValue = 10;
private UtilityClassExample() {
throw new java.lang.UnsupportedOperationException("Utility class and cannot be instantiated");
}
public static int addIntValues(int i, int j) {
int sum = i + j;
return sum;
}
public static int subIntValues(int i, int j) {
int diff = 0;
if (i > j) {
diff = i - j;
} else {
diff = j - i;
}
return diff;
}
public static float addFloatValues(float i, float j) {
float sum = Float.sum(i, j);
return Math.round(sum);
}
public static float subFloatValues(float i, float j) {
float diff = 0.00f;
if (i > j) {
diff = i - j;
} else {
diff = j - i;
}
return diff;
}
public static int returnValAfterMultiplying(int i) {
return i * constantValue;
}
}
class TestUtility {
public static void main(String[] args) {
int a = 4;
int b = 9;
int c = 7;
float d = 3.12f;
float e = 6.85f;
System.out.println(+a + " multiplied by ten is : "
+ UtilityClassExample.returnValAfterMultiplying(a));
System.out.println(b + "+" + c + " is : " + UtilityClassExample.addIntValues(b, c));
System.out.println(d + "+" + e + " is : " + UtilityClassExample.addFloatValues(d, e));
System.out.println(b + "-" + a + " is : " + UtilityClassExample.subIntValues(b, a));
System.out.println(e + "-" + d + " is : " + UtilityClassExample.subFloatValues(e, d));
}
}
出力:
4 multiplied by ten is : 40
9+7 is : 16
3.12+6.85 is : 10.0
9-4 is : 5
6.85-3.12 is : 3.73
柔軟性が低下するため、独自の Utility
クラスを使用することはお勧めしません。
Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.
LinkedIn