Object转换为String和long
2008-06-19 22:27
当我们拿到一个Object类型,想使用一条语句转换为String类型的时候,有几种方法呢:
Object obj 1. obj.toString() 当obj为null时,挂了 2. obj+"" 当obj为null时也不会挂,貌似很赞 3. String.valueOf(obj) 当obj为null时也不会挂,比(2)就是多打几个字 如果想把Object转换为Long型呢。 可以使用Long.valueOf(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+""); } |