Блог пользователя eatmore

Автор eatmore, история, 6 лет назад, По-английски

Java 15 was released a few days ago. Here are some changes that may be useful for competitive programming.

  • Pattern matching for instanceof, first introduced in Java 14, is still a preview.
  • Text blocks, first introduced in Java 13, are now final:
String input = """
	3 3
	1 2
	1 3
	2 3""";
  • Records, first introduced in Java 14, are now final:
record Fraction(int num, int den) {
	Fraction {
		if (den == 0) {
			throw new IllegalArgumentException("zero denominator");
		}
		if (den < 0) {
			num = -num;
			den = -den;
		}
	}

	Fraction add(Fraction o) {
		return new Fraction(num * o.den + den * o.num, den * o.den);
	}

	// ...
}
  • Useful new methods: CharSequence.isEmpty() (also inherited by String), String.stripIndent() (useful for text blocks), String.formatted(), Math.absExact().

Previous posts: Java 8, 9, 10, 11, 12, 13 and 14.

  • Проголосовать: нравится
  • +83
  • Проголосовать: не нравится

»
6 лет назад, скрыть # |
 
Проголосовать: нравится -32 Проголосовать: не нравится

Who uses Java pft

»
6 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

A new feature is added in the form of sealed classes. Here no interface or class can inherit the parent sealed class. Only those class/interface can use the class features which are permitted by the sealed parent class.

Previously, inheritance was revoked by final class. Now, sealed class provide partial revokation with allowing only few structures to inherit them.

»
6 лет назад, скрыть # |
 
Проголосовать: нравится +78 Проголосовать: не нравится

the feeling from looking away from java 8 for 2 minutes and coming back to find oracle has made java 15 must be what parents feel when their kid goes to university