我想知道的是,Object类型的给定对象是否可以转换为Long类型,而无需中间转换为任何其他类型。像这样:
Long lObj=(Long)someMethodReturningObject();
Object someMethodReturningObject() {
return "1234";
}我知道其他方法,比如将其转换为字符串,然后使用Long.valueOf(),我想知道是否有其他方法可以直接使用。如果不是,那么为什么是这样的,但是对于字符串,普通类型转换是可用的。
发布于 2016-09-01 22:43:54
使用Apache commons lang.Try,无论它是否对您有帮助。
public static long toLong(String str)将字符串转换为长整型,如果转换失败,则返回零。
如果字符串为null,则返回零。
NumberUtils.toLong(null) = 0L
NumberUtils.toLong("") = 0L
NumberUtils.toLong("1") = 1L参数: str -要转换的字符串,可以为空
返回:字符串表示的长整型,如果转换失败,则返回0
自: 2.1
满足您的需求
public static Long someMethodReturningObject(Object obj){
Long result=NumberUtils.toLong(obj.toString());
return result;
}发布于 2016-09-01 21:18:41
您可以使用以下代码片段:
Long.valueOf(lObj.toString())https://stackoverflow.com/questions/39272497
复制相似问题