大家好,又见面了,我是你们的朋友全栈君。
本文转自:http://zwkufo.blog.163.com/blog/static/2588251201101814459745/
当我们拿到一个Object类型,想使用一条语句转换为String类型的时候,有几种方法呢:
Object obj
1. obj.toString() 当obj为null时,挂了
2. obj+”” 当obj为null时也不会挂,貌似很赞
3. String.valueOf(obj) 当obj为null时也不会挂,比(2)就是多打几个字
如果想把Object转换为Long型呢。
可以使用Long.value(String str)
那样就需要先从Object转为String,再从String转为Long,
Object obj; String str=obj+””; Long long = Long.valueOf(str)
当obj为null时,上述语句就挂啦。
因为此时拿到的 str是 “null”.
特别当要把str插入到数据库时更要小心,本来是想插入个null或者空字符串到数据库的,反而插入了String类型的”null”,这个有4个字符呢。
解决方案: 还是写个函数处理下吧:
public static Long getLong(Object obj){
if (obj==null || false == NumberUtils.isNumber(obj+””)) return 0L;
return Long.valueOf(obj+””);
}
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/133554.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...