日期:2014-05-19  浏览次数:20892 次

急急急急急急急!!为什么我查出来的值为空的时候就会报错。怎么判断是否为空 急
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 {
//....
}