ObjectからLongへの変換

DbUnitでITableからgetValue()したものはObject型であるが、これをLongに変換したいとき。

・JDK1.4のとき
 assertEquals(
        new Long(9999999999L),
        new Long(( (BigDecimal)table.getValue(0, "HOGE") ).longValue()));

・JDK1.5のとき((これはいわゆるAutoBoxingというやつか?))
 assertEquals(
        (Long)999999999L,
        (Long)( (BigDecimal) trade.getValue(0, "HOGE") ).longValue());


それぞれ動作は確認はできているけれど、これで正しいのかどうかは不明。

※普通にこう↓できるような気もするが、実行時にClassCastExceptionになる。

 assertEquals(
        (Long)999999999L,
        (Long)trade.getValue(0, "HOGE");