Apache Commons Lang(アパッチ・コモンズ・ラング)は、ApacheのトッププロジェクトであるApache Commonsにある、Javaのjava.langパッケージを拡張するライブラリである。
Object.equals() を拡張した物。nullが入っていても比較が可能である。
Object.equals()
String s1 = null; String s2 = "abc"; if (ObjectUtils.equals(s1, s2)) { System.out.println("equal"); }
Java のデフォルトの Object.toString() はメンバ変数の内容まで表示してくれないが、リフレクションを使用して、メンバ変数の内容を表示する形で、Object.toString() を実装する。
Object.toString()
public String toString() { return ToStringBuilder.reflectionToString(this); }
文字列の配列を受け取って区切り文字で連結して返す。
String[] array = new String[] { "Java", "Perl", "Lisp" }; String joined = StringUtils.join(array, ":"); // joined は "Java:Perl:Lisp" となる
このような「数行の処理でしかないが、実際書くのは煩わしい。」 「どこかで誰かが書いていて、誰が書いても似たようなコードになる。」 「この前も書いた。今回も書いた。次もきっと書く。」 と言った簡潔・頻出な処理は Commons Lang の得意とするところである。