当前位置: 代码迷 >> J2EE >> 急为什么小弟我查出来的值为空的时候就会报错。如何判断是否为空
  详细解决方案

急为什么小弟我查出来的值为空的时候就会报错。如何判断是否为空

热度:85   发布时间:2016-04-22 01:30:24.0
急急急急急急急!!为什么我查出来的值为空的时候就会报错。怎么判断是否为空 急
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 {
//....
}
  相关解决方案