今天碰到一個很奇怪的問題,是從數據庫中取某個時間類型字段的值,需要把它轉成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循環就要想老半天。郁悶啊,等發錢了買腦輕松去了