急急急急急急急!!为什么我查出来的值为空的时候就会报错。怎么判断是否为空 急
- Java code
public String getCarType(String carNbr,String gyosyaCode) throws Exception{ // Hibernateのキャッシュ象 Session session = null; String carType ; try{ // キャッシュ象の初期化 session = this.getSession(); // SQL文を作成 StringBuffer selSql = new StringBuffer(); selSql.append(" SELECT \n"); selSql.append(" CAR_TYPE \n"); selSql.append(" FROM \n"); selSql.append(" ADDN_CAR \n"); selSql.append(" WHERE \n"); selSql.append(" DELETE_FLG <> '1' \n"); // 索条件(番)が空でない合 if(carNbr != null && !"".equals(carNbr.trim())){ selSql.append(" and CAR_NBR = '" + carNbr + "' \n"); } // 索条件(送者コド)が空でない合 if(gyosyaCode != null && !"".equals(gyosyaCode.trim())){ selSql.append(" and GYOSYA_CODE = '" + gyosyaCode + "' \n"); } // デタベスからデタを取得 SQLQuery query = session.createSQLQuery(selSql.toString()); // 配送料金一索の合カウントを取得 carType = (query.list().get(0)).toString(); }catch(HibernateException e){ e.printStackTrace(); throw e; }finally{ // 放キャッシュ this.releaseSession(session); } // 果を返す return carType; }
在执行到carType = (query.list().get(0)).toString();时候如果没有数据就会报错
[解决办法]
如果list为空,你再get(0)肯定会出错啊。这样改一下:
List list = query.list();
if(list ==null || list.size == 0){
你的逻辑;
}else{
carType = list.get(0).toString();
}
[解决办法]
List list = query.list();
if(list.size()>0) {
carType = (query.list().get(0)).toString();
}else {
//....
}