public class test {
  public test() {
  }
  public static void main(String[] args) {
    ArrayList arratlist = new ArrayList();
    ArrayList thearratlist = new ArrayList();
    for (int i=0;i<5;i++){
      arratlist.add(Integer.toString(i));
    }
    thearratlist.add(arratlist);
  }
}

解决方案 »

  1.   

    外面的变量看不到里面的变量
    你在第一个程序中arratlist是一个局部变量,对于thearratlist 是不可见的
      

  2.   

    呵呵。首先类定义要用大写开头不过这里不是这个问题。在这里,是变量的作用域的问题。public class test {
      public test() {
      }
      public static void main(String[] args) {
        
        ArrayList thearratlist = new ArrayList();
        for (int i=0;i<5;i++){
          ArrayList arratlist = new ArrayList();
          arratlist.add(Integer.toString(i));
        }
        thearratlist.add(arratlist);
      }
    }
    这里arratlist只在循环内有效。可以这样写
    public class test {
      public test() {
      }
      public static void main(String[] args) {
        
        ArrayList thearratlist = new ArrayList();
        ArrayList arratlist = null;
        for (int i=0;i<5;i++){
          arratlist = new ArrayList();
          arratlist.add(Integer.toString(i));
        }
        thearratlist.add(arratlist);
      }
    }这样就没有问题了。
      

  3.   

    哦。。不对,我刚才写的还有一个问题:)
    每次变成新定义一个了arraylist了呵呵。不好意思。写错了。