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

clnlkw3 2012-09-13 11:55:55
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) {这一行已经报错了
这样的话 怎么判断啊
...全文
202 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
IT业的工人 2012-09-14
  • 打赏
  • 举报
回复
当不知道list中是否还有值的时候不能将下标固定成一个死值
Cactus_hxk 2012-09-13
  • 打赏
  • 举报
回复
List<String> aa = new ArrayList<String>();
for(String s : aa){

system.out.println(s);

}
NewMoons 2012-09-13
  • 打赏
  • 举报
回复
楼上说的对
楼主,凡是有序集合的下标是从0开始的,你的例子里只有aa[0] aa[1],你代码只要执行到aa[2]就会报错。
你应该这么判断
if(aa.size() > 2){
你懂得...
}
这么初级的问题我都来拿分,善哉...羞愧中...
hutaoshime 2012-09-13
  • 打赏
  • 举报
回复
int length=aa.size();
if(length>=1 && 2<=length){
aa.get(2);
}
安特矮油 2012-09-13
  • 打赏
  • 举报
回复
aa.size()这个是长度。如果是遍历那么就是
for(int i = 0; i < aa.size(); i++){
aa.get(i);
}
Tnz_ME 2012-09-13
  • 打赏
  • 举报
回复
既然知道get(0)获取的是第一个 第一个就get(2)了?
Tnz_ME 2012-09-13
  • 打赏
  • 举报
回复
aa里只有2个字符串,所以aa.get(2)越界了,
蓝蜘蛛 2012-09-13
  • 打赏
  • 举报
回复
从0开始,问题已经解决...结贴吧
zh_s_z 2012-09-13
  • 打赏
  • 举报
回复
List中下标识从0开始的,使用
System.out.println(aa.size());//获取List的长度。
for(int i=0;i<aa.size;i++){//循环输出List的值。
System.out.println(aa.get(i));
}
zh_s_z 2012-09-13
  • 打赏
  • 举报
回复
List中下标识从0开始的,使用
System.out.println(aa.size());//获取List的长度。
for(int i=0;i<aa.size;i++){//循环输出List的值。
System.out.println(aa.get(i));
}
  • 打赏
  • 举报
回复
if(aa!=null && aa.size()>0) 就表示该集合不为空,并且大小大于等于1
菖蒲老先生 2012-09-13
  • 打赏
  • 举报
回复
明明只有2个,取第三个肯定出错啊。。。
需要判断size。。。

67,515

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧