2008-07-01から1ヶ月間の記事一覧
ちょっと誤解していたので書いておく。 ArrayList<String> list = new ArrayList<String>(); で、list.getClass()が返すClassオブジェクトは型パラメータ(String)の情報を持たないが、 public void hoe(List<String> list) { } のhoeメソッドに対応するMethodオブジェクトは、型パ</string></string></string>…
Freemarkerでnullチェックをするための「??」演算子はfreemarker-2.3.6では使えなかった。2.3.9にバージョンアップしたところ使えた。
プリミティブ型に対応するラッパ型が持つ「TYPE」という定数はプリミティブ型のクラスを表す。 例えばBeoolean.TYPEはbooleanのクラス型を表すが、これはboolean.classと同じ。 System.out.println(boolean.class == Boolean.TYPE); → trueところで次のよう…
アノテーションAnnoのオブジェクトは@Annoが付与されているクラスやメソッドに対応するClassやMethodオブジェクトについてAnnotatedElement#getAnnotation(Anno.class)を呼び出すことで取得できるが、新たに生成したいことがある(かもしれない)。そこでい…
なんとなく気になったので試してみた。 public void test() { RuntimeException ex = null; throw ex; } 実行すると「throw ex」のところでNPE。当たり前と言えば当たり前か。
友人に聞かれたので、ちょっとあいまいになっていた記憶を呼び覚ますためにdouble-checked lockingについて調査。以下のページにまとめられていた。 http://blogs.wankuma.com/nagise/archive/2007/08/24/91598.aspx 要約: JDK1.5からはメモリモデルが変更…