2010-02-19 44 views
5

我需要將對象數組轉換爲長整型。問題是那些對象有時是BigIntegers,有時是BigDecimals,有時甚至是其他東西。有沒有什麼好的庫來完成這個?用於將對象轉換爲數字(整數,長等)的Java庫

例如...

for (Object[] o : result) { 
    Long l = SomeClass.convertToLong(o[0]); 
    Integer i = SomeClass.convertToInt(o[1]); 
} 

回答

2

對於BigInteger情況和BigDecimal你可以施放該(和所有的數字原始包裝類爲好)至Number並獲得longValue()(溢出時要小心範圍long'雖然)。

如果他們是別的東西,那麼無論如何你都需要一些關於如何轉換它的規則。你有什麼「別的東西」?

10

你可以得到Number很遠:

​​
0

的java.lang.Number中類和相關類做最這份工作就好了。如果您需要更多的支持來處理空值和原語而無需編寫檢查和條件,請查看Apache Commons-Lang庫,特別是NumberUtil.class。這些都是成熟的,常用的,有詳細記錄的圖書館。