在JAVA项目中,调用方法时抛出java.lang.ArrayStoreException。求大神解惑??

publicString[]selZlhisClass(StringclassName){List<Departments>list=newArrayList<Depar... public String[] selZlhisClass(String className) {
List<Departments> list = new ArrayList<Departments>();
try {
conn = ConnectionManager.getConnection();
String sql = "select id,名称 from 部门表 where 撤档时间=to_date('3000-01-01','yyyy-mm-dd') " +
"and id not in (select distinct 上级id from 部门表 where 上级id is not null) " +
"and 名称 like '%" + className + "%' order by 编码";
pste = conn.prepareStatement(sql);
res = pste.executeQuery();
System.out.println("sql语句:"+sql);
System.out.println("输入参数:"+className);
while (res.next()) {
Departments ds = new Departments();
ds.setNames(res.getString("名称"));
System.out.println("输出参数:"+res.getString("名称"));
list.add(ds);
}
} catch (SQLException sqle) {
sqle.printStackTrace();
} finally {
ConnectionManager.closeStatement(pste);
ConnectionManager.closeConnection(conn);
ConnectionManager.closeResultSet(res);
}
String[] goodsname = (String[])list.toArray(new String[list.size()]);
return goodsname;
}
展开
 我来答
下周四到
2015-06-05 · TA获得超过271个赞
知道小有建树答主
回答量:340
采纳率:0%
帮助的人:173万
展开全部
数组存储异常。当向数组中存放非数组声明类型对象时抛出。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
洋依辰7i
2015-06-05 · TA获得超过141个赞
知道小有建树答主
回答量:185
采纳率:100%
帮助的人:202万
展开全部
List<Departments> list = new ArrayList<Departments>();
改成
List<String> list = new ArrayList<String>();
因为Departments没任何作用

list.add(res.getString("名称"));

希望能帮到你 谢谢....
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yj83855039
2015-06-05 · TA获得超过590个赞
知道小有建树答主
回答量:985
采纳率:33%
帮助的人:493万
展开全部
什么类型的数组就要装什么类型的数据,报错具体是哪一行
追问
String[] goodsname = (String[])list.toArray(new String[list.size()]);就是这行
追答

应该是list的类型转出来不对,不加泛型应该可以。你的list并不是string类型的,而是Departments类型

改成这样。。

Departments[] goodsname = (Departments[])list.toArray(new Departments[list.size()]);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式