Skip to content

Commit 4ad5384

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

File tree

3 files changed

+43
-0
lines changed

3 files changed

+43
-0
lines changed
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,16 @@
11
package com.github.lokic.javaplus.functional.consumer;
22

3+
import java.util.function.Consumer;
4+
35
@FunctionalInterface
46
public interface Consumer2<T1, T2> {
57
void accept(T1 t1, T2 t2);
8+
9+
static <T1, T2> Consumer2<T1, T2> $1(Consumer<T1> consumer) {
10+
return (t1, t2) -> consumer.accept(t1);
11+
}
12+
13+
static <T1, T2> Consumer2<T1, T2> $2(Consumer<T2> consumer) {
14+
return (t1, t2) -> consumer.accept(t2);
15+
}
616
}
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,21 @@
11
package com.github.lokic.javaplus.functional.consumer;
22

3+
import java.util.function.Consumer;
4+
35
@FunctionalInterface
46
public interface Consumer3<T1, T2, T3> {
57
void accept(T1 t1, T2 t2, T3 t3);
8+
9+
10+
static <T1, T2, T3> Consumer3<T1, T2, T3> $1(Consumer<T1> consumer) {
11+
return (t1, t2, t3) -> consumer.accept(t1);
12+
}
13+
14+
static <T1, T2, T3> Consumer3<T1, T2, T3> $2(Consumer<T2> consumer) {
15+
return (t1, t2, t3) -> consumer.accept(t2);
16+
}
17+
18+
static <T1, T2, T3> Consumer3<T1, T2, T3> $3(Consumer<T3> consumer) {
19+
return (t1, t2, t3) -> consumer.accept(t3);
20+
}
621
}
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,24 @@
11
package com.github.lokic.javaplus.functional.consumer;
22

3+
import java.util.function.Consumer;
4+
35
@FunctionalInterface
46
public interface Consumer4<T1, T2, T3, T4> {
57
void accept(T1 t1, T2 t2, T3 t3, T4 t4);
8+
9+
static <T1, T2, T3, T4> Consumer4<T1, T2, T3, T4> $1(Consumer<T1> consumer) {
10+
return (t1, t2, t3, t4) -> consumer.accept(t1);
11+
}
12+
13+
static <T1, T2, T3, T4> Consumer4<T1, T2, T3, T4> $2(Consumer<T2> consumer) {
14+
return (t1, t2, t3, t4) -> consumer.accept(t2);
15+
}
16+
17+
static <T1, T2, T3, T4> Consumer4<T1, T2, T3, T4> $3(Consumer<T3> consumer) {
18+
return (t1, t2, t3, t4) -> consumer.accept(t3);
19+
}
20+
21+
static <T1, T2, T3, T4> Consumer4<T1, T2, T3, T4> $4(Consumer<T4> consumer) {
22+
return (t1, t2, t3, t4) -> consumer.accept(t4);
23+
}
624
}

0 commit comments

Comments
 (0)