"Function" "andThen()" "apply()" of Java 是否有最多 7 步的限制?
Is there a limit of a maximum of 7 steps for "Function" "andThen()" "apply()" of Java?
我有以下代码-
Function<String, String> step1 = string -> string + " wakes up";
Function<String, String> step2 = string -> string + "\nbrushes teeth";
Function<String, String> step3 = string -> string + "\ngoes to toilet";
Function<String, String> step4 = string -> string + "\ntakes a shower";
Function<String, String> step5 = string -> string + "\nfeeds the cat";
Function<String, String> step6 = string -> string + "\ncleans litter box";
Function<String, String> step7 = string -> string + "\neats breakfast";
Function<String, String> step8 = string -> string = "\ngoes for work";
String name = "Neha";
System.out.println(step1.andThen(step2).andThen(step3).andThen(step4).andThen(step5).andThen(step6).andThen(step7).apply(name));
给我输出 -
Neha wakes up
brushes teeth
goes to toilet
takes a shower
feeds the cat
cleans litter box
eats breakfast
但是,
System.out.println(step1.andThen(step2).andThen(step3).andThen(step4).andThen(step5).andThen(step6).andThen(step7).andThen(step8).apply(name));
给我输出 -
goes for work
所以,我想知道这里是否有7步的最大限制。
我正在使用 Open JDK 11
没有。看看这个:
Function<String, String> step8 = string -> string = "\ngoes for work";
注意赋值运算符 =
而不是追加 +
.
改为:
Function<String, String> step8 = string -> string + "\ngoes for work";
它应该会显示所需的结果。
为什么 Java 会随机限制为 7 步?
我有以下代码-
Function<String, String> step1 = string -> string + " wakes up";
Function<String, String> step2 = string -> string + "\nbrushes teeth";
Function<String, String> step3 = string -> string + "\ngoes to toilet";
Function<String, String> step4 = string -> string + "\ntakes a shower";
Function<String, String> step5 = string -> string + "\nfeeds the cat";
Function<String, String> step6 = string -> string + "\ncleans litter box";
Function<String, String> step7 = string -> string + "\neats breakfast";
Function<String, String> step8 = string -> string = "\ngoes for work";
String name = "Neha";
System.out.println(step1.andThen(step2).andThen(step3).andThen(step4).andThen(step5).andThen(step6).andThen(step7).apply(name));
给我输出 -
Neha wakes up
brushes teeth
goes to toilet
takes a shower
feeds the cat
cleans litter box
eats breakfast
但是,
System.out.println(step1.andThen(step2).andThen(step3).andThen(step4).andThen(step5).andThen(step6).andThen(step7).andThen(step8).apply(name));
给我输出 -
goes for work
所以,我想知道这里是否有7步的最大限制。
我正在使用 Open JDK 11
没有。看看这个:
Function<String, String> step8 = string -> string = "\ngoes for work";
注意赋值运算符 =
而不是追加 +
.
改为:
Function<String, String> step8 = string -> string + "\ngoes for work";
它应该会显示所需的结果。
为什么 Java 会随机限制为 7 步?