我想知道的是,可以将Object类型的给定Object转换为Long,而不将其中间转换为任何其他类型。像:
Application
我知道其他方法,比如将它转换为String然后使用Long lObj=(Long)someMethodReturningObject();
Object someMethodReturningObject() {
return "1234";
}
,想知道是否有其他方法直接。如果没有那么为什么会这样,但是对于String plain typecasting是可用的。
答案 0 :(得分:0)
使用Apache commons lang。试试它是否对你有帮助。
public static long toLong(String str)
将字符串转换为long,如果转换失败则返回零。
如果字符串为null,则返回零。
NumberUtils.toLong(null) = 0L
NumberUtils.toLong("") = 0L
NumberUtils.toLong("1") = 1L
参数: str - 要转换的字符串,可以为null
返回: 字符串表示的长整数,如果转换失败则为0
自: 2.1
根据您的要求
public static Long someMethodReturningObject(Object obj){
Long result=NumberUtils.toLong(obj.toString());
return result;
}
答案 1 :(得分:-1)
您可以使用以下代码段:
Long.valueOf(lObj.toString())