Shouldn't that be mh.<String,Object>invoke("foo") ? It returns a String and takes an Object. Attila. On 2009.08.18., at 10:55, Christian Thalinger wrote: > MethodHandle mh = MethodHandles.lookup().findVirtual(Object.class, > "toString", MethodType.make(String.class)); > String result = mh.<String>invoke("foo");