J'ai étudié la variation du style d'écriture pour l'expression lambda introduite dans Java8. Je vais le couvrir sous forme de tableau afin que vous puissiez facilement vous y référer lorsque vous vous perdez.
No. | Notation | La description |
---|---|---|
1 | () -> System.out.println("foo") | Aucun argument |
2 | (n) -> System.out.println(n) | Avec argument(Mettre entre parenthèses) |
3 | (int n) -> System.out.println(n) | Avec argument(Mettre entre parenthèses + spécification de type) |
4 | n -> System.out.println(n) | Avec argument(Ne pas mettre entre parenthèses) * Les parenthèses ne peuvent être omises que s'il y a un argument |
5 | (m, n) -> m+n | Avec argument(Plusieurs) |
6 | (int m, int n) -> m+n | Avec argument(Multiple + type spécifié) |
7 | (n) -> { return n * 2;} | Expression lambda de type instruction |
L'exemple de code ci-dessus.
// No.1 aucun argument
Runnable lambda1 = () -> System.out.println("foo");
// No.2 avec arguments(Mettre entre parenthèses)
IntConsumer lambda2 = (n) -> System.out.println(n);
// No.3 avec arguments(Mettre entre parenthèses + spécification de type)
IntConsumer lambda3 = (int n) -> System.out.println(n);
// No.4 avec arguments(Ne pas mettre entre parenthèses)* Les parenthèses ne peuvent être omises que s'il y a un argument
IntConsumer lambda4 = n -> System.out.println(n);
// No.5 avec arguments(Plusieurs)
IntBinaryOperator lambda5 = (m, n) -> m+n;
// No.6 avec arguments(Multiple + type spécifié)
IntBinaryOperator lambda6 = (int m, int n) -> m+n;
// No.7 Expression lambda de type instruction
IntUnaryOperator lambda7 = (n) -> { return n * 2;};
Recommended Posts