java.lang.ClassCastException:java.lang.String

时间:2014-01-27 21:02:36

标签: java hibernate

我使用hibernate,我有这个java方法:

 public Integer getNumber(String user) {
            SQLProperties properties = new SQLProperties();



            String query = "select out_count('"+user+"')";
            query += SQLUtils.getProperties(properties);


            SQLQuery sqlQuery = this.getSession().createSQLQuery(query);
            sqlQuery = SQLUtils.addScalar(sqlQuery, properties);

            List<Integer> list = sqlQuery.list();

                 System.out.println("val : "+list.get(0));
            return list.get(0);
        }

但是当我测试时我有这个错误:

val : 200
java.lang.ClassCastException: java.lang.String
    at com..hibernate.model.dao.testDAO.getNumber(Unknown Source)

2 个答案:

答案 0 :(得分:0)

检查要返回的实际类型。你从该查询中获得了一个String。将其转换为Integer.parseInt()

的整数

答案 1 :(得分:0)

看起来你有List<String>,而不是List<Integer>。可能会出现未经检查的警告,是不是存在?