List对里面元素进行过滤删除
来源:互联网 发布:网络上怼是什么意思 编辑:程序博客网 时间:2024/06/08 06:04
上篇文章写到了对文件进行批量上传,其中遇到一个问题,就是针对用户上传来的文件进行筛选删除
错误的写法:
/** 排除有误的图片 **/List<MultipartFile> files = userBean.getNewPhoto();for(MultipartFile file : files){//名字是否合适if(file.getName() == null && file.getName().equals("")){files.remove(file);continue;}//是否是图片boolean isImg = FileUtil.filterType(file.getContentType());if (!isImg) {files.remove(file);continue;}//是否大小合适boolean isSuitableSize = FileUtil.filterFileSize(file);if (!isSuitableSize) {files.remove(file);continue;}}
咋一看,好像没什么错,其实仔细一想,发现问题,每次删除完之后,那么List就少1,所以会出现错误
正确的写法:
/** 排除有误的图片 **/List<MultipartFile> files = userBean.getNewPhoto();Iterator<MultipartFile> iter= files.iterator();while (iter.hasNext()){MultipartFile file= iter.next();//名字是否合适if(file.getName() == null && file.getName().equals("")){iter.remove();continue;}//是否是图片boolean isImg = FileUtil.filterType(file.getContentType());if (!isImg) {iter.remove();continue;}//是否大小合适boolean isSuitableSize = FileUtil.filterFileSize(file);if (!isSuitableSize) {iter.remove();continue;}}
里面的小方法:
/** * 过滤文件 * * @param types * @return */public static boolean filterType(String type) {for (String temp : FinalValues.userRegisterAllowFileTypeList) {if (temp.equals(type)){return true;}}return false;}/** * 过滤图片的大小 * @param multipartFile * @return */public static boolean filterFileSize(MultipartFile multipartFile) {if(multipartFile.getSize() <0 || multipartFile.getSize() > FinalValues.MAX_ALBUM_PHOTO_SIZE){return false;}return true;}
1 0
- List对里面元素进行过滤删除
- Java-对list里面的元素进行冒泡排序
- Python 删除list里面的重复元素
- 对List内元素进行全排列
- 对List集合中的元素进行排序
- 对List集合中的元素进行排序
- 对List集合中的元素进行排序
- 对List集合中的元素进行排序
- 对List集合中的元素进行排序
- 对List集合中的元素进行排序
- 对List集合中的元素进行排序
- Python代码实现:删除一个list里面的重复元素
- 如何删除一个list集合里面的某个元素
- 【Python】简单例题tuple和list的转换;实现删除一个list里重复的元素;对list a进行排序,并且从最后一个开始删除重复元素
- 如何将二个list集合当中相同的元素进行删除。
- 对C++ STL,list元素的循环删除操作
- python中对list遍历的过程中删除元素
- 对List里的对象元素进行排序
- android—socket-udp出现EADDRNOTAVAIL
- 知识总结
- 安装 pylibmc(Memcached的python客户端)
- MongoDB的介绍
- Android四大组件之一:Activity
- List对里面元素进行过滤删除
- POJ 3159 Candies 差分约束
- 小散, 教你如何进行集合竞价
- 代理模式、动态代理与AOP
- pyQt不同窗体间的值传递(一)——对话框关闭时返回值给主窗口
- zoj 3633 Alice's present
- C之运算符与强制类型转换
- TIPs
- 编译原理第五单元习题