我现在想的是,每次传一个数进去,用list.get(num),但一直报空指针,不知道该怎么做?

解决方案 »

  1.   

    public static Object getObj(List list ,int num)throws Exception
    {
        if(list==null || list.size()<num)
        {
             throw new Exception("错误");
        }
        return list.get(num);
    }
      

  2.   

    if(request.getParameter("nextpage")==null||request.getParameter("nextpage").equals("")){
      pageNum=0;
    }else{
      pageNum=Integer.parseInt(request.getParameter("nextpage"));
      if(pageNum==-1){
        pageNum=0;
      }
      
      System.out.println(pageNum);
    }
        
    %>
    <script language="javascript" type="">
    function fnKeydown(){
      var key;
      var key=event.keyCode;
      switch(key){
      case 68:
      window.location.href="test2.jsp?nextpage=<%=pageNum-1%>";
      break;
     case 69:
      window.location.href="test2.jsp?nextpage=<%=pageNum+1%>";
      break;
      }
      
    }
    document.onkeydown=fnKeydown;
    </script>
    <body bgcolor="#ffffff" )">
    <table border="1">
    <%
      kt=(Kt)list2.get(pageNum);    
    %>
      <tr>
      <td></td>
        <td><%=kt.getNr()%></td>
      </tr>
      
    </table>
    为什么我的代码不行呢,test2.jsp是本页面,它用键盘控制,按D键,pageNum-1,按E键,pageNum+1,把pageNum传入 list.get(pageNum).
      

  3.   

    在list.get(pageNum)里面看看那个pageNum是不是有值?
      

  4.   

    可能两个情况,
    一个是list本身为空,
    另一个是pageNum超出list的size你把这个
    改成
    if(list2==null)
    {
     out.println("list2为空");
    }
    else if(list2.size()<paegNum)
    {
      out.println("pageNum过大");
    }
    else
    {
    kt=(Kt)list2.get(pageNum); 
    }
      

  5.   

    你把这个
    kt=(Kt)list2.get(pageNum); 改成
    if(list2==null)
    {
     out.println("list2为空");
    }
    else if(list2.size()<paegNum)
    {
      out.println("pageNum过大");
    }
    else
    {
    kt=(Kt)list2.get(pageNum); 
    }