zoukankan      html  css  js  c++  java
  • java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.String

    今天在调试的过程中,发现了一个bug:

    java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.String
    	org.apache.jsp.complaintSearchList_jsp._jspService(complaintSearchList_jsp.java:93)
    	org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)
    	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
    	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    	com.tgx.servlet.ComplaintServlet.doGet(ComplaintServlet.java:120)
    	com.tgx.servlet.ComplaintServlet.doPost(ComplaintServlet.java:142)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
    

    英语不好就是硬伤啊,开始的时候没有读懂,以为是String不能转换成Integer。就在那里纳闷,因为以前写过好多遍都没有问题的。

    之后查了一下度娘,明白了。那个Exception的意思应该是,Integer类型不能将其转换为String。因为以前是这样的。request.setParameter("sdf"); 读取的时候 String dfd = request.getParameter("sdf"); 这样是合法的。因为里面本来就是存储的是String类型数据。

    而我这次是request.setAttribute("pageNow", pageNow); 读取的时候,String s_pageNow = (String)request.getAttribute("pageNow");这样就不行了。因为setAttribute那个数据什么object类型,读取的时候就应该用对应的数据类型读取出来。但是这里不能用int 读取,应为它不是一个object类型。应该用Integer,然后再转化为int数据类型。

    解决完毕。

  • 相关阅读:
    EntityFramework的安装
    利用Xml架构生成实体访问类
    C#生成XSD规范
    利用Vistual Studio自带的xsd.exe工具,根据XML自动生成XSD
    在.net中序列化读写xml方法的总结
    MVP设计模式的实现
    c#万能视频播放器
    libavcodec是一款LGPL自由软件编解码库,用于视频和音频数据的编解码工作
    用C#实现多种方式播放Wav声音
    Using the G711 standard
  • 原文地址:https://www.cnblogs.com/tgxblue/p/4217358.html
Copyright © 2011-2022 走看看