java.lang.ClassCastException:java.lang.String不能转换为[Ljava.lang.Object

编程入门 行业动态 更新时间:2024-10-27 22:25:16
本文介绍了java.lang.ClassCastException:java.lang.String不能转换为[Ljava.lang.Object的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我正在运行以下查询。它显示一条错误消息。

I'm running the following query. It displays an error message. How to solve this error?

List<Route>routeList=null; List<?> companyList = session.createSQLQuery ("select name " + "from company "+ "where company_id= " + companyId).list(); if(companyList.size() <= 0){ //throw(new AppException(1018,ErrorMessages.getString("INVALID_USER_ID"))); } routeList = new ArrayList<Route>(companyList.size()); Route vgDetails=null; for (int i = 0; i < companyList.size(); i++) { vgDetails = new Route(); Object[] row = (Object[])companyList.get(i); vgDetails.setRouteName ((String)row[0]); routeList.add(vgDetails); } session.getTransaction()mit(); return routeList; }

错误的是:

The errror is:

java.lang.ClassCastException: java.lang.String cannot be cast to [Ljava.lang.Object; at com.claystone.server.user.UserListServiceImpl.getParticipantsDestination(UserListServiceImpl.java:902) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:527) at com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:166) at com.google.gwt.user.server.rpc.RemoteServiceServlet.doPost(RemoteServiceServlet.java:86) at javax.servlet.http.HttpServlet.service(HttpServlet.java:637) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487) at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:362) at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216) at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181) at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:729) at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405) at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) at org.mortbay.jetty.handler.RequestLogHandler.handle(RequestLogHandler.java:49) at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) at org.mortbay.jetty.Server.handle(Server.java:324) at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505) at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:843) at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:647) at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:205) at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380) at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395) at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:488)

推荐答案

你可以写:

You can just write:

vgDetails = new Route(); vgDetails.setRouteName ((String)companyList.get(i));

companyList 已经是一个字符串列表,因为您只需选择一列。

companyList is already a list of strings because you select just one column.

此外,由于Thilo的回答也表明,您可以直接将结果转换为 List< string> 而不是使用 List<?> 。

Additionally, as Thilo's answer also suggests, you can cast your result directly to a List<string> instead of using List<?>.

更多推荐

java.lang.ClassCastException:java.lang.String不能转换为[Ljava.lang.Object

本文发布于:2023-10-31 05:19:52,感谢您对本站的认可!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:转换为   ClassCastException   java   lang   Object

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!