请问List集合存了几个字符串,我要获取第几个字符串的时候,结果越界了,如何解决?

时间:2023-01-03 11:58:07
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) {这一行已经报错了
这样的话 怎么判断啊                           

12 个解决方案

#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


从0开始,问题已经解决...结贴吧

#12


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

#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


从0开始,问题已经解决...结贴吧

#12


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