HudsonがEclipseでコンパイルできなかったという話題が1か月前くらいにあって、その調査をしているときにjavacとJDTで微妙に動作が違う点を見つけました。 class Hoge<T> { void h() { class Foo { T t; } Foo o = new Foo(); boolean b = (o instanceof Foo); // JDTでエラー T t = o.t; // javacでエラー } } これはどうもローカルクラスの扱いがjavacとJDTで違うようです。 JDT まず、(o instanceof Foo)でエラーになるJDTを見てみると、次のようなエラーメッセージが出ていました。 Cannot perform instanceof check against parameterized type Foo. Use instead its r