StreamToLoop: support Optional unwrap if possible

This commit is contained in:
Tagir Valeev
2016-12-09 15:17:26 +07:00
parent ae273b6c24
commit 8e128b7f32
27 changed files with 425 additions and 90 deletions
@@ -2,10 +2,10 @@
import java.util.Arrays;
import java.util.List;
import java.util.OptionalInt;
import java.util.function.IntSupplier;
public class Main {
public static int test(List<String> strings) {
public static int test(List<String> strings, IntSupplier supplier) {
boolean seen = false;
int best = 0;
for (String string : strings) {
@@ -15,11 +15,11 @@ public class Main {
best = length;
}
}
return (seen ? OptionalInt.of(best) : OptionalInt.empty()).orElse(-1);
return seen ? best : supplier.getAsInt();
}
public static void main(String[] args) {
System.out.println(test(Arrays.asList()));
System.out.println(test(Arrays.asList("a", "bbb", "cc", "d")));
System.out.println(test(Arrays.asList(), () -> -1));
System.out.println(test(Arrays.asList("a", "bbb", "cc", "d"), () -> 2));
}
}