用于将Object转换为数字的Java库(Integer,Long等...)

vrm*_*vrm 5 java type-conversion

我需要将对象数组转换为Long/Integer.问题是那些对象有时是BigIntegers,有时是BigDecimals,有时甚至是其他东西.有没有很好的图书馆来完成这个?

例如...

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

Joo*_*kka 12

你可以用数字得到很多:

Long l = ((Number) object).longValue();
Integer i = ((Number) object).intValue();
Run Code Online (Sandbox Code Playgroud)


Joa*_*uer 3

BigInteger对于and的情况,BigDecimal您可以将其(以及所有数字基元包装类)强制转换为Number并获取longValue()(溢出 'though 的范围时要小心long)。

如果它们是其他东西,那么您无论如何都需要一些关于如何转换它的规则。您还有什么“其他事情”吗?