2009年01月16日

よく使うjakarta commonsの機能を10個

普段使っているCommonsの機能を思いつきで挙げてみた。CommonsはJavaのコードを短くしてくれるから好きです。


1. StringUtils.isBlank, isNotBlank
知名度は一番高そう。「str =! null && str.trim() != ""」みたいな表現をあっさり系に書ける。お友達のisEmptyもけっこう使う。メソッド名としてそれぞれNotが存在するのが「!StringUtils.isBlank(str)」より読みやすくて良いと思う。

2. CollectionUtils.isEmpty
引数で渡されたCollectionがnullかサイズが0ならtrueを返す。list != null && list.size() == 0 とかしなくて良い。StringUtils.isBlankと同じくらい使われても良さそうなんだけど、微妙に使われていない気がする。

3. IOUtils.closeQuietry
closeすること林の如しと一部のプログラマからささやかれているかもしれない一品。わざわざfinallyの中で「close」と「try,catch」を書くあの微妙な記述を無くせる。finally{ IOUtils.closeQuietly(stream); }みたいな感じ。

4. StringUtils.right
指定した文字列の右から指定文字数分だけ返す。nullチェックも、lengthチェックも勝手にやってくれる、ありがたい子。友達の「mid」と「left」も便利。

5. NumberUtils.toInt
文字列をintに変換してくれる。中でperseIntして、例外が起きたらデフォルト値を返してくれる気の利いた子。toLongやtoFloat、toDoubleもいる。

6. ReflectionToStringBuilder.toString
langの中にひっそりと入ってる、ありがたい子。Beanの中身をSystem.out.printlnとかで出力したい時に、一行であっさりとそれっぽい文字列に変換することができる。主にdebugログの出力の時に使う。デバッグ以外の用途で使われている姿はあまり見かけない気がするけど、ドンマイ。

7. BeanUtils.copyProperties
同じ変数名のパラメータを、別のBeanにコピーする。設計を間違うと何かとバグやボトルネックの元になりやすいけど、使いどころさえ間違えなければ便利。DBとHTMLのパラメータ名を対応させるような処理とかなら、綺麗に利用できた気がする。

8. IOUtils.copy
Java.io.Fileにはコピーがなかった気がする。この子を使えば、数行でコピーできる。

9. FilenameUtils
どのメソッドが一番とも言いづらいので、クラスごとエントリー。ファイルのパスとか、拡張子とか、拡張子を除いたファイル名とか、ディレクトリ名とか、ファイルパスの一部をさらっと取りたいなぁと思った時に、あっさり願いを叶えてくれます。

10. StopWatch
langのJavaDocに目を通していて、ふと名前に釣られて手を出してしまったのは私だけではないはずだ。suspendしたのをresumeできるとか、それなりに心地よい使い勝手。実行時間計測にたまに使う。
posted by MW at 00:48| Comment(0) | TrackBack(0) | 10個シリーズ | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:


この記事へのトラックバック
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。