Skip to content

Commit b93e6f9

Browse files
committed
feat: Predicate支持特定索引参数的函数,避免编写不关注的变量名
1 parent 8d86569 commit b93e6f9

File tree

2 files changed

+24
-0
lines changed

2 files changed

+24
-0
lines changed
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,17 @@
11
package com.github.lokic.javaplus.functional.predicate;
22

33

4+
import java.util.function.Predicate;
5+
46
@FunctionalInterface
57
public interface Predicate2<T1, T2> {
68
boolean test(T1 t1, T2 t2);
9+
10+
static <T1, T2> Predicate2<T1, T2> $1(Predicate<T1> predicate) {
11+
return (t1, t2) -> predicate.test(t1);
12+
}
13+
14+
static <T1, T2> Predicate2<T1, T2> $2(Predicate<T2> predicate) {
15+
return (t1, t2) -> predicate.test(t2);
16+
}
717
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,21 @@
11
package com.github.lokic.javaplus.functional.predicate;
22

33

4+
import java.util.function.Predicate;
5+
46
@FunctionalInterface
57
public interface Predicate3<T1, T2, T3> {
68
boolean test(T1 t1, T2 t2, T3 t3);
9+
10+
static <T1, T2, T3> Predicate3<T1, T2, T3> $1(Predicate<T1> predicate) {
11+
return (t1, t2, t3) -> predicate.test(t1);
12+
}
13+
14+
static <T1, T2, T3> Predicate3<T1, T2, T3> $2(Predicate<T2> predicate) {
15+
return (t1, t2, t3) -> predicate.test(t2);
16+
}
17+
18+
static <T1, T2, T3> Predicate3<T1, T2, T3> $3(Predicate<T3> predicate) {
19+
return (t1, t2, t3) -> predicate.test(t3);
20+
}
721
}

0 commit comments

Comments
 (0)