你的位置:首页 > 软件开发 > Java > 新手填坑 java.lang.Integer cannot be cast to java.lang.String

新手填坑 java.lang.Integer cannot be cast to java.lang.String

发布时间:2017-08-17 12:00:10
java连接mysql封装的获取集合的公用方法public List<Map<String, String>> getSet(String sql){ List<Map<String, String>> list = new Ar ...

新手填坑 java.lang.Integer cannot be cast to java.lang.String

java连接mysql封装的获取集合的公用方法

public List<Map<String, String>> getSet(String sql){  List<Map<String, String>> list = new ArrayList<Map<String,String>>();  ResultSet rs = null;  Statement sm = null;  try {   //1.加载驱动程序   Class.forName(driver);   con = DriverManager.getConnection(url, user, passwod);   //2.创建statement类对象,用来执行SQL语句!!   sm = con.createStatement();   rs = sm.executeQuery(sql);   //返回列的描述信息   ResultSetMetaData rsmd = rs.getMetaData();   while(rs.next()){    Map map = new HashMap();    for (int i = 1; i <= rsmd.getColumnCount(); i++) {     map.put(rsmd.getColumnName(i), rs.getObject(i));    }    list.add(map);   }  } catch (Exception e) {   e.printStackTrace();  }finally {   closeAll(rs,sm,con);  }  return list; }

因为id这个字段在数据库中是int类型的,返回Map接收查询结果,接收时使用了List<Map<String,String>>,然后在取出id的时候就出现了转换异常

新手填坑 java.lang.Integer cannot be cast to java.lang.String

最终修改了封装方法里取id的地方的代码才解决,用toString()方法转换成字符串类型就解决了

新手填坑 java.lang.Integer cannot be cast to java.lang.String

做一个随笔记录,纪念自己的坑。

 

海外公司注册、海外银行开户、跨境平台代入驻、VAT、EPR等知识和在线办理:https://www.xlkjsw.com

原标题:新手填坑 java.lang.Integer cannot be cast to java.lang.String

关键词:JAVA

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。