CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Java >  J2SE / 基础类

为什么不能这样用?

楼主chufd()2004-12-03 11:57:06 在 Java / J2SE / 基础类 提问

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);  
      }  
  } 问题点数:0、回复次数:5Top

1 楼chufd()回复于 2004-12-03 11:58:51 得分 0

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);  
      }  
  }Top

2 楼catblue(佛家说:一粒沙中看世界。)回复于 2004-12-03 12:06:11 得分 0

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

3 楼zh_baiyu(SkyBay)回复于 2004-12-03 12:06:30 得分 0

呵呵。首先类定义要用大写开头。。。  
   
  不过这里不是这个问题。  
   
  在这里,是变量的作用域的问题。  
   
  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);  
      }  
  }  
   
  这样就没有问题了。  
   
  Top

4 楼zh_baiyu(SkyBay)回复于 2004-12-03 12:07:37 得分 0

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

5 楼survivor_pan(游客)回复于 2004-12-03 12:20:20 得分 0

楼主不是自己已经解决了吗?  
  Top

相关问题

  • 为什么不能这样
  • 请问为什么不能使用这样的方法!
  • 为什么这样调用RegisterServiceProcess不能通过呢?
  • 为什么不能这样用,请高手来指点一下。
  • 我的rand函数为什么不能这样用啊,int a = rand();
  • 为什么这样添加用户就不能执行呢?
  • 为什么不能这样用CryptoAPI加密?
  • flush()为什么不能用?
  • ErrorHandler为什么不能用?
  • 为什么DREAMWEVER不能用。。

关键词

  • arraylist
  • test

得分解答快速导航

  • 帖主:chufd

相关链接

  • CSDN Java频道
  • Java类图书
  • Java类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo