stream filter 增强判断 校验是否有不符合条件的数据

Posted G_whang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了stream filter 增强判断 校验是否有不符合条件的数据相关的知识,希望对你有一定的参考价值。

import lombok.Builder;
import lombok.Data;
import org.springframework.util.StringUtils;

import java.util.ArrayList;
import java.util.List;

/**
 * stream filter 增强判断
 *
 * 参数校验 校验图片名称和url 是否都填写 名称是否包含2
 *
 */
public class StreamTest10 {

    public static void main(String[] args) {

        List<FileInfo> fileInfoList = getFileInfoList();

        // 如果count 大于 0 则说明有为空的数据 校验不予通过
        long count = fileInfoList.stream().filter(p -> {
          return  StringUtils.isEmpty(p.getUrl()) || StringUtils.isEmpty(p.getFileName()) || p.getFileName().contains("2");
        }).count();

        System.out.println(count>0);


    }

    public static List<FileInfo> getFileInfoList(){

        List<FileInfo> fileInfos=new ArrayList<FileInfo>();

        FileInfo fileInfo1= FileInfo.builder().url("http://www.com").type("image").build();
        FileInfo fileInfo2= FileInfo.builder().fileName("222").url("http://www.com").type("image").build();
        FileInfo fileInfo3= FileInfo.builder().fileName("333").url("http://www.com").type("id").build();
        FileInfo fileInfo4= FileInfo.builder().fileName("444").url("http://www.com").type("image").build();

        fileInfos.add(fileInfo1);
        fileInfos.add(fileInfo2);
        fileInfos.add(fileInfo3);
        fileInfos.add(fileInfo4);

        return fileInfos;
    }


}


@Data
@Builder
class FileInfo{

    private String fileName;

    private String url;

    private String type;


}

以上是关于stream filter 增强判断 校验是否有不符合条件的数据的主要内容,如果未能解决你的问题,请参考以下文章

FB08F.80凭证冲销校验增强

Java8 新特性 Stream 无状态中间操作

java8 中stream filter 如果属性为空怎么判断

Stream 校验两个集合元素是否完全一致

Java 8 stream forEach filter anyMatch

Shell脚本——文件是否存在权限校验