| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2125 人关注过本帖
标题:两种代码有什么区别
只看楼主 加入收藏
cai410579517
Rank: 3Rank: 3
来 自:宁德
等 级:论坛游侠
威 望:6
帖 子:128
专家分:179
注 册:2013-8-18
结帖率:88%
收藏
已结贴  问题点数:20 回复次数:4 
两种代码有什么区别
userdao dao= new userdao();
            ArrayList<User> list=dao.checkUser();
            for (int i = 0; i < list.size(); i++) {
              User u=list.get(i);
               System.out.println(u.getUsername());
               
             }
 userdao dao=new userdao
 ArrayList<User> list=dao.checkUser();
 User u=list.get(1);
 System.out.println(u.getUsername());

这两种有什么曲别,为什么 第一种就不会有错 而第二种就会出错
2013-09-17 21:09
java小蚂蚁
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:上海
等 级:贵宾
威 望:18
帖 子:558
专家分:2186
注 册:2013-7-2
收藏
得分:5 
打印一下,看你get(1)得到的值不就知道了
第一种,你是循环打印了所有的值,第二种就打印一个,如果list为空的话,这是不是会产生空指针异常。另外这个怎么的你也该写个try catch吧

学海无涯#¥%……&*(
2013-09-18 09:32
java小蚂蚁
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:上海
等 级:贵宾
威 望:18
帖 子:558
专家分:2186
注 册:2013-7-2
收藏
得分:5 
建议第一种。或者要么你什么确定那个里面都有哪些值。在什么位置,不过话说即使这样,如果突然出现其他的意外情况,比如网断了等到,还是会有问题,建议捕获一个异常信息

学海无涯#¥%……&*(
2013-09-18 09:34
303770957
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:6
帖 子:838
专家分:2125
注 册:2005-9-10
收藏
得分:10 
userdao dao= new userdao();

ArrayList<User> list=dao.checkUser();
for (int i = 0; i < list.size(); i++) {
      User u=list.get(i);
      System.out.println(u.getUsername());              
}
这样做的好处在于不管list中有几个User对象,都可以打印出来,要是没有就不打印了。
实际上list中只有一个User对象。


userdao dao=new userdao();
ArrayList<User> list=dao.checkUser();
User u=list.get(1);//问题出在这个地方了,如果list中只有一个User对象,那么就不存在list.get(1),而是list.get(0).
System.out.println(u.getUsername());

正确做法应该是:
userdao dao=new userdao();
ArrayList<User> list=dao.checkUser();
if(list.size()>0)
{
    User u=list.get(0);//取出第一个User对象就可以了。
    System.out.println(u.getUsername());
}

♂ 死后定当长眠,生前何须久睡。♀
2013-09-18 10:33
cai410579517
Rank: 3Rank: 3
来 自:宁德
等 级:论坛游侠
威 望:6
帖 子:128
专家分:179
注 册:2013-8-18
收藏
得分:0 
问题已解决了 但是我用了是第二种方法  如果我只是打印值的话我会用第一种 但是我要取user对象里面的值进行判断比较  所以只能用第一种方法了
2013-09-18 13:41
快速回复:两种代码有什么区别
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015467 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved