可用如下方法
   ArrayList al = new ArrayList();
   al.add("1");
   al.add("2");
   ......
   String s = "";
   Iterator it = al.iterator();
    while ( it.hasNext() ){
      s = (String)it.next();
      System.out.println(s);
    }

解决方案 »

  1.   

    而且你所用的toArray方法也沒錯﹐如下
        ......
        ArrayList al = new ArrayList();
        al.add("1");
        al.add("2");
        ....
        Object[] o = al.toArray();
        String s = "";
        for (int i = 0; i <o.length ; i++ ){
          System.out.println((String)o[i]);
        }
      

  2.   

    用get
       . ......
        ArrayList al = new ArrayList();
        al.add("1");
        al.add("2");
      .......
        System.out.println(al.get(2));
     ......
      

  3.   

    你存的时候肯定按引用存的.所以存入的其实都是一条记录在你存的时候,记得在循环体内new一个你要存入的对象 !!!
      

  4.   


    public ArrayList getSubBoardMenu(String mainBoardId) throws SQLException, ClassNotFoundException{
    ArrayList subBoardInfo = new ArrayList();
    ResultSet rs = null;
    String [] subBoardRecord;
    int rowCount = 0;
    int columnCount = 0;
    mydb.setSql("Select * from PageInfo where page_id like '"+mainBoardId+"%';");
    mydb.runSql();
    rowCount = mydb.getRowCount();
    columnCount = mydb.getColumnCount();
    subBoardRecord = new String[columnCount];
    rs = mydb.getResultSet();
    if (rs.first()){
    for (int i = 0; i < columnCount; i++){
    subBoardRecord[i]=rs.getString(i+1);
    }
    subBoardInfo.add(subBoardRecord);
    }
    while (rs.next()){
    subBoardRecord = new String[columnCount];
    for (int i = 0; i < columnCount; i++){
    subBoardRecord[i]=rs.getString(i+1);
    //这里打印出来都是对的
    System.out.println("sub: "+subBoardRecord[i]); }
    subBoardInfo.add(subBoardRecord);
    }
    int length = subBoardInfo.size();
    for (int i=0;i< length; i++){
    String s[] = (String[])subBoardInfo.get(i);
    //这里就不对了,所有的数据都变成了最后一次假如的数据
    System.out.println("aaaaa"+s[0]);
    }
    }
      

  5.   

    to zez,
    你说的对。可是为什么一定要new一个哪?
    变量subBoardRecode每次在被add前打印出来的值都是正确的啊,为什么加进去就不对了哪?
      

  6.   

    楼主,你还是不明白ArrayList啊
    add()加进去的object应该应该是另外一片内存区的数据.
    如果不new你就只是在一片内存区里面工作了
    就相当于给一个变量不断的赋值,当然每次都是变量的值都是最后一次赋的值了
    有了new之后你的ArrayList在每次add()之后就会增加一片内存区
    相当于把内存区里面的数据增加到ArrayList中去。
    楼上的哥们说的很对
    这就是C中的指针的思想