6 comments

[ 2.9 ms ] story [ 30.1 ms ] thread
This is a great change that will undoubtedly cause a lot of headaches.

There's a number of libraries (particularly around serialization/marshaling) which will end up mutating `final` fields. In fact, this is a trick I've pulled once or twice in my own code for "reasons" (generally needing to modify behavior of a library because it was deficient).

I suspect this will be one of those things that ends up requiring java devs everywhere to bump up the versions of the libraries they use.

oracle planning a new jvm language? have we ever seen a feature like this that is explicitly not usable from Java?
invokedynamic comes to mind.

It was later used to implement lambda expressions but originally had no use in the Java language and isn't tailored to lambda expressions.

(comment deleted)
Also, this will be used for future null-restricted types.
This a much needed change. Glad to see it! Might be some headaches in the short term, but thats ok.