1. 程式人生 > 實用技巧 >重複值檢查,工具類提取 DataUtil.haveRepeated(Integer id,List<Integer> ids)

重複值檢查,工具類提取 DataUtil.haveRepeated(Integer id,List<Integer> ids)

本文在部落格園同步發出重複值檢查,工具類提取 DataUtil.haveRepeated(Integer id,List<Integer> ids)

程式碼註釋應該已能說明問題:

 1 import org.springframework.util.CollectionUtils;
 2 
 3 import java.util.List;
 4 import java.util.Objects;
 5 import java.util.stream.Collectors;
 6 public class DataUtil {
 7     /**
 8      * @Description: 判斷是否有重複
9 * @Param: id 比較的id 【新增或修改,新增id為 isNull,修改id為 nonNull】 10 * @Param: ids 依據重複檢查條件,查詢出的所有id集 11 * @Return: boolean 12 * @Author: wqb 13 * @Date: 2021/1/12 10:50 14 **/ 15 public static boolean haveRepeated(Integer id, List<Integer> ids){ 16 // 修改:不可改成其他已存在的 17
if(Objects.nonNull(id) && !CollectionUtils.isEmpty(ids)) { 18 // 檢查 是否存在 除 [原id] 之外的id存在 19 return !CollectionUtils.isEmpty(ids.stream().filter(oldId -> !oldId.equals(id)).collect(Collectors.toList())); 20 } 21 // 新增:不可與任何值重複(不應該查出任何資料,應該為空) 22 if
(Objects.isNull(id) && !CollectionUtils.isEmpty(ids)){ 23 return true; 24 } 25 return false; 26 } 27 }