I like how pattern matching for is being refined and how now you can do destructuring in a for loop body.<p><pre><code> for (Pair(String s, String t): arg) {
System.out.println(s+", "+t);
}
</code></pre>
Even so it is a bit of a drag that you have to enable preview features to use pattern and also that it changes from version to version, but it is getting better all the time. I am using JDK 17 at work without preview features and coding on my own account w/ 19 and preview enabled. It will be nice if most of the stuff in preview now gets finalized in 21 and then they get started on value types and the more radical stuff after that.