[Ljava.lang.Object;不能投射到 [英] [Ljava.lang.Object; cannot be cast to

查看:97
本文介绍了[Ljava.lang.Object;不能投射到的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想从数据库中获得价值,在我的情况下,我使用 List 从数据库获取值,但是我得到了这个错误

 线程main中的异常java.lang.ClassCastException:[Ljava.lang.Object;无法转换为id.co.bni.switcherservice.model.SwitcherServiceSource 
在id.co.bni.switcherservice.controller.SwitcherServiceController.LoadData(SwitcherServiceController.java:48)
at id.co.bni .switcherservice.controller.SwitcherServiceController.main(SwitcherServiceController.java:62)

这是我的代码 p>

  Query LoadSource = session_source.createQuery(select CLIENT,SERVICE,SERVICE_TYPE,PROVIDER_CODE,COUNT(*)FROM SwitcherServiceSource+ 
,其中TIMESTAMP介于:awal和:akhir+
,PROVIDER_CODE不是由CLIENT,SERVICE,SERVICE_TYPE,PROVIDER_CODE命令的CLIENT,SERVICE,SERVICE_TYPE,PROVIDER_CODE命令的空组)。
LoadSource.setParameter(awal,fromDate);
LoadSource.setParameter(akhir,toDate);

List< SwitcherServiceSource> result_source =(List< SwitcherServiceSource>)LoadSource.list(); (SwitcherServiceSource tes:result_source)
{
System.out.println(tes.getSERVICE());
}

任何帮助都会令您高兴:)

@raffian,你的意思是这样吗?

  List< Switcher> result =(List< Switcher>)LoadSource.list(); 
(Switcher tes:result){
System.out.println(tes.getSERVICE());
}


解决方案

  java.lang.ClassCastException:[Ljava.lang.Object;无法转换为id.co.bni.switcherservice.model.SwitcherServiceSource 

问题在于

 (List< SwitcherServiceSource>)LoadSource.list(); 

这将返回一个对象数组(列表对象[]) SwitcherServiceSource 表中每个列的标量值。 Hibernate将使用ResultSetMetadata推断返回标量值的实际顺序和类型。

解决方案



 列表与LT;对象> result =(List< Object>)LoadSource.list(); 
Iterator itr = result.iterator();
while(itr.hasNext()){
Object [] obj =(Object [])itr.next();
//现在每行有一个Object数组
String client = String.valueOf(obj [0]); //不知道列的类型CLIENT假定String
Integer service = Integer.parseInt(String.valueOf(obj [1])); // SERVICE假定为int
//对于所有obj [2],obj [3],obj [4]
}



相关连结




I want to get value from the database, in my case I use List to get the value from the database but I got this error

Exception in thread "main" java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to id.co.bni.switcherservice.model.SwitcherServiceSource
at id.co.bni.switcherservice.controller.SwitcherServiceController.LoadData(SwitcherServiceController.java:48)
at id.co.bni.switcherservice.controller.SwitcherServiceController.main(SwitcherServiceController.java:62)

this is my code

    Query LoadSource = session_source.createQuery("select CLIENT,SERVICE,SERVICE_TYPE,PROVIDER_CODE,COUNT(*) FROM SwitcherServiceSource" +
            " where TIMESTAMP between :awal and :akhir" +
            " and PROVIDER_CODE is not null group by CLIENT,SERVICE,SERVICE_TYPE,PROVIDER_CODE order by CLIENT,SERVICE,SERVICE_TYPE,PROVIDER_CODE");
    LoadSource.setParameter("awal", fromDate);
    LoadSource.setParameter("akhir", toDate);

    List<SwitcherServiceSource> result_source = (List<SwitcherServiceSource>) LoadSource.list();
    for(SwitcherServiceSource tes : result_source){
        System.out.println(tes.getSERVICE());
    }

any help will be pleasure :)

@raffian, did you mean like this??

List<Switcher> result = (List<Switcher>) LoadSource.list();
for(Switcher tes : result){
    System.out.println(tes.getSERVICE());
}

解决方案

java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to id.co.bni.switcherservice.model.SwitcherServiceSource

Problem is

(List<SwitcherServiceSource>) LoadSource.list();

This will return a List of Object arrays (Object[]) with scalar values for each column in the SwitcherServiceSource table. Hibernate will use ResultSetMetadata to deduce the actual order and types of the returned scalar values.

Solution

List<Object> result = (List<Object>) LoadSource.list(); 
Iterator itr = result.iterator();
while(itr.hasNext()){
   Object[] obj = (Object[]) itr.next();
   //now you have one array of Object for each row
   String client = String.valueOf(obj[0]); // don't know the type of column CLIENT assuming String 
   Integer service = Integer.parseInt(String.valueOf(obj[1])); //SERVICE assumed as int
   //same way for all obj[2], obj[3], obj[4]
}

Related link

这篇关于[Ljava.lang.Object;不能投射到的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆