在将列表内容存储到集合中时获取类强制转换异常

时间:2014-04-26 08:50:09

标签: java hibernate

我已经解决了以下hibernate查询,该查询完美地获取数据,但返回类型为List,如下所示。

public List<Object[]> Extractingc()
    {

        Criteria criteria = session.createCriteria(IDetails.class);
        ProjectionList proList = Projections.projectionList();
            proList.add(Projections.property("ter"));  //is of string type
        proList.add(Projections.property("sem"));  //is of string type
        proList.add(Projections.property("tid"));  //is of long type in pojo  *******
                proList.add(Projections.property("def"));  //is of string type
        criteria.setProjection(proList);            
        List<Object[]> settlementIdList =  criteria.list();
        return sst;

    }

现在java代码中出现的问题是我将上述方法的结果放在代码中的一个列表中,如下所示......

List<Object[]> ioaist = = ioabookandinstrumenthome.Extractingc(); 

现在我已经创建了一个集合,因为在集合中我希望存储所有4个参数的组合,即sem + tid + ter + def在我正在进行的集合中,如下所示...

Set<String> st = new HashSet<String>();
for (Object[] arr : ioabookandinstrumenthomelist)
{
s=((String) arr[0]+ (String) arr[1]+ (String) arr[2]+ (String) arr[3]); //*** getting class cast exception
st.add(s);
s=null;
}

但是我得到了类强制转换异常,因为我的参数tid是long类型,它不是用字符串

转换的

1 个答案:

答案 0 :(得分:0)

是的,你不能把长串投射到弦乐队。但是,您可以使用String.valueOf()