コンパイラ準拠レベル

たとえJDK1.5を使っていても、準拠レベルが1.4だったら、1.5固有の構文なりなんなりはエラーにしてくれるものだと思っていたのだけれど…違うのかしら。

new BigDecimal(100);

コンパイラ準拠レベル1.4で、このコードがエラーにならないんですよねー。BigDecimalのint型を引数とするコンストラクタは1.5から導入されたはずなんですけど。アノテーションとかはエラーになるんだけど、APIレベルではエラーにならないのかなぁ・・・。

コンパイル通るけど、実行時はJDK1.4なので当然NoSuchMethodErrorが発生。コンパイラ準拠レベルってなんなんだぁヽ(`Д´)ノ