Validator.java
1.83 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
package com.xly.util;
import cn.hutool.core.util.ObjectUtil;
import com.xly.entity.ParamRule;
import java.lang.reflect.Array;
import java.util.*;
import java.util.function.Function;
import java.util.stream.Collectors;
public class Validator {
// 判断对象是否有效(非0,非空字符串,非空数组/集合)
public static boolean isValid(Object obj) {
if (obj == null)
return false;
// 数值
if (obj instanceof Number) {
return ((Number) obj).doubleValue() != 0;
}
// 数组
if (obj.getClass().isArray()) {
return Array.getLength(obj) > 0;
}
// 集合
if (obj instanceof Collection) {
return !((Collection<?>) obj).isEmpty();
}
// Map
if (obj instanceof Map) {
return !((Map<?, ?>) obj).isEmpty();
}
return ObjectUtil.isNotEmpty(obj);
}
/***
* @Author 钱豹
* @Date 0:58 2026/7/2
* @Param [source, one]
* @return java.util.List<com.xly.entity.ParamRule>
* @Description 去重
**/
public static List<ParamRule> deduplicateByParamValue(List<ParamRule> source) {
if (source == null || source.isEmpty()) {
return new ArrayList<>();
}
return source.stream()
.collect(Collectors.toMap(
rule -> Arrays.asList(
rule.getSParamValue(),
rule.getSDynamicParam(),
rule.getSDynamicParamName()
),
Function.identity(),
(existing, replacement) -> existing // 保留第一个
))
.values()
.stream()
.collect(Collectors.toList());
}
}