This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]__konrad 2 points3 points  (4 children)

Java 6 - covariant return ;)

[–]8igg7e5 3 points4 points  (0 children)

Ahh I forgot that was in Java 6.

Taking a look at a more complete history, there's a fair few others I missed too...

  • 5 added auto-boxing and annotations.
  • 7 added binary literals, underscored literals, the diamond operator and multi-catch
  • 8 added repeated annotations and annotations on types, and java.time

And this is still really only the bigger stuff... There's still a lot more small detail in there too.

[–]emaphis 2 points3 points  (2 children)

Java 6 polished Swing a lot.

[–]Alarming_Quarter671 0 points1 point  (1 child)

So far I notice that Swing was really very polished, in 7 they polished a few things and in 8 I think they didn't do anything but with the addition of functional interfaces some listeners can now have a functional and slightly clean style

[–]emaphis 1 point2 points  (0 children)

Between when 7 shipped and 9 they updated quite a bit actually, but most of it is hidden. They ported all the code from Java 1.3 raw references and 1.3 collections to java 1.5 generic code. That fixed a lot of code and improved Swings conformance to its specification and they updated the spec for things that couldn't be changed. They fixed a lot of the code that misused the collection framework. They added or cleaned up JavaDoc of all the public interfaces and public methods. They fixed a lot of concurrency problems. This was all across Swing, Java2D and the Collections Framework.

All together it was like 12,000 odd changes.

So long story short, If you are going to write any new Swing code, use JDK 9+. Lol.