请问各位网友,以下两句中,currentPage得到的值有何不同?
currentPage = Integer.parseInt(request.getParameter("page"));
currentPage = ((Integer) (request.getAttribute("currentPage"))).intValue();

解决方案 »

  1.   

    request.getParameter("page")
    request.getAttribute("currentPage")
    一样吗?
      

  2.   

    最终都得到int型的值,有问题吗
      

  3.   

    currentPage = Integer.parseInt(request.getParameter("page"));
    这行代码表示把一个String解析成一个int,因为request.getParameter("page")取出来的是StringcurrentPage = ((Integer) (request.getAttribute("currentPage"))).intValue();
    这行代码表示把一个Object先类型转换成Integer,然后再取出int值,因为request.getAttribute("currentPage")取出来的是Object,但是一定要保证这个Object是Integer,否则可能会出现类型转换异常,好像是ClassCastException
      

  4.   

    传值方式不同,但都是的到int型的页码
      

  5.   

    根本就是完全一样的,楼上spiritsl(梦雨心蓝) 考虑的太多了,既然request.getAttribute("currentPage")取出来的是Object类型,那么Object类又是所有类的父类,所以转型成Integer是完全没有问题的。
      

  6.   

    主要是要区别开getParameter和getAttribute
      

  7.   

    我个人觉得都一样...
    转换过程都是Object->Integer->int