如何将Object类型的对象直接转换为Long,而不将其类型转换为其他Object

时间:2016-09-01 13:13:57

标签: java

我想知道的是,可以将Object类型的给定Object转换为Long,而不将其中间转换为任何其他类型。像:

Application

我知道其他方法,比如将它转换为String然后使用Long lObj=(Long)someMethodReturningObject(); Object someMethodReturningObject() { return "1234"; } ,想知道是否有其他方法直接。如果没有那么为什么会这样,但是对于String plain typecasting是可用的。

2 个答案:

答案 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())