在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;
} 展开
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;
} 展开
3个回答
展开全部
数组存储异常。当向数组中存放非数组声明类型对象时抛出。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
List<Departments> list = new ArrayList<Departments>();
改成
List<String> list = new ArrayList<String>();
因为Departments没任何作用
list.add(res.getString("名称"));
希望能帮到你 谢谢....
改成
List<String> list = new ArrayList<String>();
因为Departments没任何作用
list.add(res.getString("名称"));
希望能帮到你 谢谢....
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
什么类型的数组就要装什么类型的数据,报错具体是哪一行
追问
String[] goodsname = (String[])list.toArray(new String[list.size()]);就是这行
追答
应该是list的类型转出来不对,不加泛型应该可以。你的list并不是string类型的,而是Departments类型
改成这样。。
Departments[] goodsname = (Departments[])list.toArray(new Departments[list.size()]);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询