Java 13 has been released a few days ago. Here are some changes that may be useful for competitive programming.
- Switch expressions: first introduced in Java 12. In Java 13, a value is returned from a switch expression using
yield
statement:
String numType = switch (num) {
0 -> "zero";
1 -> "one";
default -> {
for (int i = 2; i < num; i++) {
if (num % i == 0) {
yield "composite";
}
}
yield "prime";
}
};
- Text blocks: multi-line string literals, similar to Python:
String input = """
3 3
1 2
1 3
2 3""";
If you know about other useful features, post it here.
Thanks. How exactly it works for leading spaces in lines?
I mean that it seems the result is `3 3\n1 2\n1 3\n2 3'. Is any auto-trim policy processing multi-line string literals?
"It's complicated", see https://openjdk.java.net/jeps/355 Basically, the "common white space prefix" and all trailing whitespace is dropped. Example:
Whitespace, which is represented by the dots, would be removed.Why not just Kotlin?