今天碰到一个很奇怪的问题,是从数据库中取某个时间类型字段的值,需要把它转成string型,然后问题就出来了,因为这个字段可能存在空值,断点后走到转string型这行就报错。一直没想明白,后来老大跑过来瞄了几眼就指出了问题所在。高人就是高人啊!
由于从数据库读到的空字段=null的,所以当我toString()的时候肯定会报错。举个例子:
public class test{
public test(){
Object s = null; //这比作字段的值
String s1 = s.toString(); //报错
System.out.println (s1);
}
public static void main(String[] a){
new test();
}
}
解决的办法就是写一个方法将所有为NULL的值赋为空
public class test{
public test(){
Object s = null;
String s1 = this.strSafe(s);
System.out.println (s1); }
public static void main(String[] a){
new test();
}
public String strSafe(Object obj){
if(obj == null)
obj="";
return obj.toString();
}
}
最近我感觉越来越迟钝了,想个很简单的for循环就要想老半天。郁闷啊,等发钱了买脑轻松去了