ClassCastException:无法将java.lang.String强制转换为Object

时间:2018-10-24 04:17:14

标签: java

获取此消息:

Caused by: java.lang.ClassCastException: java.lang.String cannot be cast to [Ljava.lang.Object;

这是Java代码:

  public List<String> retrieveData() {
       String queryString = " " +
              "SELECT o.rootOrganisation.idOrganisation " +
              "FROM Organisation o " +
              "ORDER BY o.idOrganisation " ;
       Query query = getFilteredCurrentSession().createQuery(queryString);

       List<Object[]> listOfObject = query.list();
       List<String> listOfDTO = new ArrayList<>();

       //Loop through an array of objects
       for (Object[] org : listOfObject ) {
           for (int i = 0; i < org.length; i++) {
               listOfDTO .add((String) org[i]);
           }
       }
       return listOfDTO;
   }

返回listOfDTO时,获取类强制转换异常。

1 个答案:

答案 0 :(得分:0)

问题出在List<Object[]> listOfObject = query.list()行上。 query.list()返回的至少一个元素是String,而不是对象数组。