मेथडहैंडल्स जावा 7 . में शुरू की गई कक्षा संस्करण। इस वर्ग ने मुख्य रूप से कुछ स्थिर . जोड़ा तरीके कार्यक्षमता को बेहतर बनाने के लिए, और लुकअप विधियों . जैसी कई श्रेणियों में आता है जो विधियों और क्षेत्रों के लिए मेथड हैंडल बनाने में मदद करते हैं, कॉम्बिनेटर मेथड्स जो पहले से मौजूद मेथड हैंडल को नए और फ़ैक्टरी मेथड . में संयोजित या रूपांतरित करते हैं अन्य सामान्य जेवीएम संचालन या नियंत्रण प्रवाह पैटर्न का अनुकरण करने वाले विधि हैंडल बनाने के लिए। विधि हैंडल कई बदलावों को पेश करने के लिए क्लास ने जावा 9 में एन्हांस किया है और arrayLength() . जैसी नई स्थिर विधियों को जोड़ा है , सरणी कंस्ट्रक्टर () , शून्य () , और आदि।
सिंटैक्स
public class MethodHandles extends Object
उदाहरण
import java.lang.invoke.MethodHandle; import java.lang.invoke.MethodHandles; public class MethodHandlesTest { public void MethodHandle1() { try { MethodHandle methodHandleLength = MethodHandles.arrayLength(int[].class); int[] array = new int[] {5, 10, 15, 20}; int arrayLength = (int) methodHandleLength.invoke(array); System.out.println("Length of Array using Method Handle is: " + arrayLength); MethodHandle methodHandleConstructor = MethodHandles.arrayConstructor(int[].class); int[] newArray = (int[]) methodHandleConstructor.invoke(3); System.out.println("Array Constructed using Method Handle of Size: " + newArray.length); int x = (int) MethodHandles.zero(int.class).invoke(); System.out.println("Default Value of Primitive Integer using Method Handles is: " + x); String y = (String) MethodHandles.zero(String.class).invoke(); System.out.println("Default Value of String using Method Handles is: " + y); } catch(Throwable e) { e.printStackTrace(); } } public static void main(String args[]) { new MethodHandlesTest().MethodHandle1(); } }
आउटपुट
Length of Array using Method Handle is: 4 Array Constructed using Method Handle of Size: 3 Default Value of Primitive Integer using Method Handles is: 0 Default Value of String using Method Handles is: null