[java] jdk1.5 tiger static importは便利
2006/02/15
2006/11/26
オブジェクトの比較で、"AAA".equals("BBB")という書き方が好きではないです。
なぜだか好きでないです。
なので、eqメソッドを用意して比較させています。
protected static boolean eq(Object object, Object object2) {
return object == null ? object2==null:object.equals(object2);
}
このメソッドを毎回用意するのがいやなので、eclipseのコードテンプレートに
eqとうつとこのメソッドを補完するようにしていたりしてます。
実装しているクラスに親がある場合は、親クラスに実装したり、
継承をしないようなクラスでは、クラスにこのメソッドを入れたりしていたのですが、
同じコードが散乱するのが嫌でした。
ならば、ユーティリティクラスを用意して、
Util.eq(a,b);
として使えばよいのかというとそうではなくて、
eqという二文字だけで、使用するのが字面的に好きなのです。
あとよく使うのがStringUtils.hasLength()というものがあります。
文字列チェックで、
if(a != null && 0 < a.length())......
という書き方が好きでないので、
StringUtilsを利用して文字列が長さをもつかチェックさせています。
上記の文字列チェックは
if(StringUtils.hasLength(a))....
というふうになります。
StringUtilsを自前で用意するか、ライブラリにあるもの使用しています。
エクリプスのようなコードアシストをもつツールを使用する場合、
多少長くても補完してくれますのでコードをうつのは面倒ではないです。
しかし、正直なところ、StringUtils.hasLength(a)という字面も好きではありません。
この好きでないという感覚は、大文字ではじまるディレクトリ名、ファイル名が好きでないは感覚と近いかもしれません。
java2 standard edition5.0からとりいれられているコードの書き方で、static importというものがあります。
この文法を利用するとユーティリティメソッドを利用するコードの書き方が自分的にスマートになるということがわかりました。
import static Util.eq;
import static StringUtils.hasLength;
というにすると、
if(eq(a,b)).....
ですとか、
if(hasLength(a))....
というふうにメソッドを宣言しているクラス名をつけなくてもよくなっています。
これは非常にうれしいです。
これから積極的に利用していきたいです。
でも、
お仕事のコーディングでは他の開発者との歩調をとるためにjdk1.4をしばらく使うという場合があったりすると思います。
そういう場合、ストレスになりますね。
なぜだか好きでないです。
なので、eqメソッドを用意して比較させています。
protected static boolean eq(Object object, Object object2) {
return object == null ? object2==null:object.equals(object2);
}
このメソッドを毎回用意するのがいやなので、eclipseのコードテンプレートに
eqとうつとこのメソッドを補完するようにしていたりしてます。
実装しているクラスに親がある場合は、親クラスに実装したり、
継承をしないようなクラスでは、クラスにこのメソッドを入れたりしていたのですが、
同じコードが散乱するのが嫌でした。
ならば、ユーティリティクラスを用意して、
Util.eq(a,b);
として使えばよいのかというとそうではなくて、
eqという二文字だけで、使用するのが字面的に好きなのです。
あとよく使うのがStringUtils.hasLength()というものがあります。
文字列チェックで、
if(a != null && 0 < a.length())......
という書き方が好きでないので、
StringUtilsを利用して文字列が長さをもつかチェックさせています。
上記の文字列チェックは
if(StringUtils.hasLength(a))....
というふうになります。
StringUtilsを自前で用意するか、ライブラリにあるもの使用しています。
エクリプスのようなコードアシストをもつツールを使用する場合、
多少長くても補完してくれますのでコードをうつのは面倒ではないです。
しかし、正直なところ、StringUtils.hasLength(a)という字面も好きではありません。
この好きでないという感覚は、大文字ではじまるディレクトリ名、ファイル名が好きでないは感覚と近いかもしれません。
java2 standard edition5.0からとりいれられているコードの書き方で、static importというものがあります。
この文法を利用するとユーティリティメソッドを利用するコードの書き方が自分的にスマートになるということがわかりました。
import static Util.eq;
import static StringUtils.hasLength;
というにすると、
if(eq(a,b)).....
ですとか、
if(hasLength(a))....
というふうにメソッドを宣言しているクラス名をつけなくてもよくなっています。
これは非常にうれしいです。
これから積極的に利用していきたいです。
でも、
お仕事のコーディングでは他の開発者との歩調をとるためにjdk1.4をしばらく使うという場合があったりすると思います。
そういう場合、ストレスになりますね。
: