wataruの部屋

20代駆け出しシステムエンジニア 低学歴な人生を歩んで来たため仕事させてくれる社会に感謝しています。 ブログの内容は映画やプログラミングに関することなど...

【Java】ユーティリティクラスとは便利なクラスである。ユーティリティそれは、有用性

f:id:koko55120:20190423234331j:plain



こんにちは!
Javaの開発でユーティリティクラスというものを聞いたことはありますか?
開発の現場で、まずユーティリティクラスってあるの?みたいなところから始めたり...

自分は、聞いたことなかったんですが、かなり便利なんです。

今回は、ユーティリティクラスってどんなものなのか?というのを現場で学んだことをアウトプットしていきます。



目次

  • ユーティリティクラスってなんなの?
  • ユーティリティクラスの構成
  • ユーティリティクラスのメリット



ユーティリティクラスってなんなの?


そもそもユーティリティという言葉は
”英単語で、「役に立つもの」「有用性」「効用」「公益」などの意味。 住宅建築におけるユーティリティールーム(家事室)のこと。”


という正直意味不明なんですが。
便利であるって感じですかね。

ユーティリティクラスも同じような意味でとにかく便利なクラスです!

特徴としては、便利なメソッド群をstaticな領域にまとめて、使いたい時に簡単に呼び出すという万能なクラスです。

例えばですが、いくつかのクラスでObjectがNullおよび空文字かどうかを判定して、booleanで返したい。そんなときにわざわざクラスごとにメソッドを定義するのはアホくさいですよね。

抽象クラスにまとめておくとかでも良いんですが、ObejectがNullおよび空文字かの判定って結構使いそうじゃないですか?

だったらstaticなクラスに定義してパラメータ渡して簡単に呼び出そうよって感じなのがユーティリティクラスです。



ユーティリティクラスの構成

ユーティリティクラスのイメージは説明したので次は構成です。

ちょこっと書くとこんな感じ。

public static class test {

 private test(){ //コンストラクタをprivateにしてインスタンス化させない
}

public static boolean method(String o){ //例えば引数に受け取ったオブジェクトのNull判定する場合とかね。
 if (o == null | o.equals("")){ 
return true;
}

public static int method(String o){ //例えば引数に受け取ったオブジェクトをintに変えて返すみたいな。
 { 
int a = Integr.parseInt(o);
 return  a;


}

クラスとメソッドのアクセスはstaticですね。インスタンス化しないで呼ぶようなイメージ

あと、インスタンス化させないようにコンストラクタはprivateですね。

なんかこういうのメソッド使うなぁみたいなのを定義しておくと良いですね。

ユーティリティクラスに定義しておきたいものとして
・文字列変換
・空白文字削除
・ソート
・日付インスタンス取得

とかですかね。




ユーティリティクラスのメリット


メリットとしては、共通の機能群みたいな位置づけでいろんなところで使いまわせるところではないでしょうか。

あとは、共通化することでソースコードが減ったり、インスタンス生成しないしゴミも増えない。

staticの呼び出しで何をしているかわかりやすいとかなどじゃないですかね。


しらんけど。

まとめ

ユーティリティクラスはstatic領域にある便利な機能群

現場によって、ユーティリティクラスは絶対違うと思うし。ネットで見ると反対派がいるんですね~

結構便利だと思ったんだけどなw

ユーティリティクラスについて認識間違ってたらコメントください。