1. 程式人生 > >new的物件不要再蠢到去判斷是不是空

new的物件不要再蠢到去判斷是不是空

1.看程式碼
List<Book> books  = bookService.find("from Book where bookno='"+t.trim()+"'").get(0);

上面是一個取得傳遞過來的引數然後通過單數往資料庫取東西的操作,看似沒什麼問題(對於菜鳥來說),其實考慮到資料為空的話,就是問題了。空的資料,get(0).自己用大腿想想吧。

下面是正確的做法

List<Book> books = new ArrayList<Book>();	
		books = bookService.find("from Book where bookno='"+t.trim()+"'");
		//借閱的圖書不存在
		if(books.size()==0){
			jsonMap.put("success", true);
			jsonMap.put("msg", "您所借閱的圖書不存在!");
			return "json";
		}

注意不要進行直接一連串的資料的儲存,自己記得要將物件利用中間層進行承接。

2.對於判斷取出的資料是否為空的操作

List<Book> books = new ArrayList<Book>();	
		books = bookService.find("from Book where bookno='"+t.trim()+"'");
		//借閱的圖書不存在
		if(books==null){
			jsonMap.put("success", true);
			jsonMap.put("msg", "您所借閱的圖書不存在!");
			return "json";
		}

 注意看:可笑之極的動作產生了:在if裡面(books == null)   自己用大腿想想 new的物件會是空麼?