MethodHandle 및 VarHandle factory 메서드 호출을 보고합니다.
또한 MethodHandle 시그니처와 일치하지 않는 MethodHandle.invoke() 및 비슷한 메서드의 인수, 그리고 VarHandle 타입과 일치하지 않는 VarHandle.set()의 인수를 보고합니다.
예:
MethodHandle mh = MethodHandles.lookup().findVirtual(
MyClass.class, "foo", MethodType.methodType(void.class, int.class));
// 인수는 int 값이어야 합니다
mh.invoke(myObj, "abc");
// 인수는 String.class여야 합니다
VarHandle vh = MethodHandles.lookup().findVarHandle(
MyClass.class, "text", int.class);
VarHandle vh = MethodHandles.lookup().findVarHandle(
MyClass.class, "text", String.class);
//인수는 String 값이어야 합니다
vh.set(myObj, 42);
2017.2의 새로운 기능