While I'm really glad to see Java (the language) slowly evolving in a positive direction, and it might bring me some joy at work if/when we switch to 7, I can't imagine starting new projects in Java anymore if I had my way. Once you've been exposed to the much nicer languages thriving on the JVM now, it's hard to get excited about Java anymore.<p>I mean, I can't see this sort of thing as being very enjoyable to write all the time.<p><pre><code> JComboBox combo = new JComboBox();
MethodHandle handle = MethodHandles.lookup().findVirtual(JComboBox.class, "setModel", MethodType.make(void.class, ComboBoxModel.class));
handle.invoke(combo, new CustomComboModel());</code></pre>
<p><pre><code> "There are three supported invocations modes :
invokestatic, invokespecial, invokeinterface or
invokevirtual."
</code></pre>
So ... Are there four, or is one very much like another?