麻烦帮忙看一下代码

麻烦帮忙看一下代码

老师帮忙看一下,以下代码有什么问题:

public PageModel pagination(int category,int page,int rows) {

List<painting> list=XmlDateSource.getRawData();

List <painting>categoryList=XmlDateSource.getRawData();

for(painting p:list) {

if(p.getCategroy()==category) {

categoryList.add(p);

}

}

PageModel pageModel=new PageModel(list,page,rows);

return pageModel;


}



如果直接运行时,服务器会报:内部服务器错误,list集合内元素不是可以重复的吗,如果把以上代码的categoryList.add(p);注释掉,就不会报错,怎么回事


正在回答

登陆购买课程后可参与讨论,去登陆

1回答

同学你好,1、list集合中可以添加重复的数据的,可能是同学获取的集合有问题,则建议同学重新实例化一个集合试一下,如下所示:

http://img1.sycdn.imooc.com//climg/60d2d47209462a9309000264.jpg

2、根据代码规范,建议类名首字母大写。如:painting修改为Painting

祝学习愉快!
  • 慕沐1462760 提问者 #1
    XmlDateSource.getRawData()这样获取到的不也是集合吗,应该没问题的,但要往这个集合里再加入元素,就报错
    2021-06-23 15:11:13
  • 好帮手慕小尤 回复 提问者 慕沐1462760 #2

    同学你好,1、XmlDateSource.getRawData()是会获取到一个集合,但是获取全部的数据,但此处我们通过循环与if判断是删选符合条件的数据,所以此处需要创建一个新的集合来存储符合条件数据。

    2、建议同学清除缓存,然后重新测试代码试一下。

    http://img1.sycdn.imooc.com//climg/60d2f16209bf3f5b03630193.jpg

    http://img1.sycdn.imooc.com//climg/60d2f17309f4b06102400228.jpg

    如果还存在问题,则建议同学反馈异常信息,便于老师定位问题。

    祝学习愉快!

    2021-06-23 16:32:24
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师