After my blogpost yesterday Pros and cons of JEP 286 I’ve received a lot of feedback.
The more I’ve been thinking about var/val it seems that my biggest mental hurdle is the Java 7 diamond operator. The diamond operator is good, it eliminates typing, and I like it… but I have the feeling it could be so much better!
Instead of (or in addition to) adding var and val I’d love to see a solution where we could ‘flip’ the side of the diamond operator.
Look at the following example:
In this case adding var/val doesn’t improve much, we still need to specify our generics somewhere, and now it has moved.
But look at the following example:
The thing is: There is much more to win on the LHS with the diamond operator than we currently have with the RHS diamond. In most cases you’re going to call code that has already defined the typing, in all those cases you can skip it LHS.
If it is possible to add var and infer everything, it should also be technically possible to have a flipped side diamond operator right? Or am I missing something?