我需要将对象数组转换为长整型。问题是那些对象有时是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。这些都是成熟的,常用的,有详细记录的图书馆。