あるプログラマの日記

プログラマのメモ、出来事、考えたこと、勉強とかの雑記

J2SE5.0のstatic import

javaで定数を使う時は、使用する定数が定義されているクラス又はインタフェースのパッケージをimportします。そしてクラス名.定数名として使用が可能になります。クラス名が長いと、ソースが見づらいし、記述も煩わしくなります。


J2SE5.0では定数名だけの記述ができるように、static importが使用できるようになりました。
こんな感じで使用できます。

import static java.lang.Boolean.TRUE;
import static java.lang.Boolean.FALSE;

...
    Boolean flag = new Boolean(true);

    if( FALSE.equals(flag) ){
        ...
    }

    if( TRUE.equals(flag) ){
        ...
    }
...

クラスメソッドやstaticなインナークラスも同様にして使用できます。


下記のように書くこともできます。

import static java.lang.Math.*;

クラスメソッドばかりのユーティリティクラスなどでは便利ですが、多用すると、定数やクラスメソッドがどのクラスに所属しているのかがわからなくなるので、できるだけクラス名まで指定したimport static を使用するのが賢明です。