我需要將對象數組轉換爲長整型。問題是那些對象有時是BigIntegers,有時是BigDecimals,有時甚至是其他東西。有沒有什麼好的庫來完成這個?用於將對象轉換爲數字(整數,長等)的Java庫
例如...
for (Object[] o : result) {
Long l = SomeClass.convertToLong(o[0]);
Integer i = SomeClass.convertToInt(o[1]);
}
我需要將對象數組轉換爲長整型。問題是那些對象有時是BigIntegers,有時是BigDecimals,有時甚至是其他東西。有沒有什麼好的庫來完成這個?用於將對象轉換爲數字(整數,長等)的Java庫
例如...
for (Object[] o : result) {
Long l = SomeClass.convertToLong(o[0]);
Integer i = SomeClass.convertToInt(o[1]);
}
對於BigInteger
情況和BigDecimal
你可以施放該(和所有的數字原始包裝類爲好)至Number
並獲得longValue()
(溢出時要小心範圍long
'雖然)。
如果他們是別的東西,那麼無論如何你都需要一些關於如何轉換它的規則。你有什麼「別的東西」?
你可以得到Number很遠:
的java.lang.Number中類和相關類做最這份工作就好了。如果您需要更多的支持來處理空值和原語而無需編寫檢查和條件,請查看Apache Commons-Lang庫,特別是NumberUtil.class。這些都是成熟的,常用的,有詳細記錄的圖書館。