List<String> aa = new ArrayList<String>();
aa.get(0);取第一个字符串
可是我不知道aa里有几个字符串
所以我进行了判断
if(null!=aa.get(2)&&aa.get(2).length>0) {
    system.out.println(aa.get(2));
}      
假如aa里只有2个字符串,所以aa.get(2)应该是null才对的啊
但是if(null!=aa.get(2)&&aa.get(2).length>0) {这一行已经报错了
这样的话 怎么判断啊                           

解决方案 »

  1.   

    aa里只有2个字符串,所以aa.get(2)越界了,
      

  2.   

    既然知道get(0)获取的是第一个  第一个就get(2)了?
      

  3.   

    aa.size()这个是长度。如果是遍历那么就是
    for(int i = 0; i < aa.size(); i++){
      aa.get(i);
    }
      

  4.   

    int length=aa.size();
    if(length>=1 && 2<=length){
        aa.get(2);
    }
      

  5.   

    楼上说的对
    楼主,凡是有序集合的下标是从0开始的,你的例子里只有aa[0] aa[1],你代码只要执行到aa[2]就会报错。
    你应该这么判断
    if(aa.size() > 2){
       你懂得...
    }
    这么初级的问题我都来拿分,善哉...羞愧中...
      

  6.   

    List<String> aa = new ArrayList<String>();
    for(String s : aa){    system.out.println(s);}
      

  7.   

    明明只有2个,取第三个肯定出错啊
    需要判断size
      

  8.   

    if(aa!=null && aa.size()>0)   就表示该集合不为空,并且大小大于等于1
      

  9.   

    List中下标识从0开始的,使用
    System.out.println(aa.size());//获取List的长度。
    for(int i=0;i<aa.size;i++){//循环输出List的值。
      System.out.println(aa.get(i));
    }
      

  10.   

    List中下标识从0开始的,使用
    System.out.println(aa.size());//获取List的长度。
    for(int i=0;i<aa.size;i++){//循环输出List的值。
      System.out.println(aa.get(i));
    }
      

  11.   

    当不知道list中是否还有值的时候不能将下标固定成一个死值