重複值檢查,工具類提取 DataUtil.haveRepeated(Integer id,List<Integer> ids)
阿新 • • 發佈:2021-01-12
本文在部落格園同步發出重複值檢查,工具類提取 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 // 修改:不可改成其他已存在的 17if(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 }