सामान्य तौर पर, एक वैरिएबल हैंडल एक चर के लिए बस टाइप किया गया संदर्भ है। यह एक सरणी होगी तत्व, एक उदाहरण या स्थिर फ़ील्ड कक्षा का। वरहैंडल वर्ग विशिष्ट परिस्थितियों में चरों को लिखने और पढ़ने की सुविधा प्रदान कर सकता है। ये अपरिवर्तनीय . हैं और कोई दृश्य स्थिति नहीं है। इसके अतिरिक्त, उन्हें उप-वर्गीकृत नहीं किया जा सकता है, और प्रत्येक VarHandle एक सामान्य प्रकार . है टी , जो इस VarHandle . द्वारा दर्शाए गए प्रत्येक चर का प्रकार है . वरहैंडल . का उद्देश्य java.util.concurrent.atomic . के समकक्षों को कॉल करने के लिए एक मानक परिभाषित करना है और sun.misc.Unsafe फ़ील्ड और सरणी तत्वों पर संचालन।
नीचे दिए गए उदाहरण में, हम MethodHandle.lookup() का उपयोग कर सकते हैं वरहैंडल . बनाने की विधि उदाहरण।
उदाहरण
आयात करें फ़ील्डहैंडल =MethodHandles.lookup().in (Student.class).findVarHandle (Student.class, "studentId ", int.class); System.out.println ("VarHandle उदाहरण सफलतापूर्वक बनाया गया !!!"); } पकड़ें (NoSuchFieldException | IllegalAccessException e) { e.printStackTrace (); } }}// छात्र वर्गमजबूत> कक्षा छात्र { संरक्षित int छात्र आईडी; निजी स्ट्रिंग [] अंक; सार्वजनिक छात्र () {छात्र आईडी =0; निशान =नया स्ट्रिंग [] {"75", "85", "95"}; }}आउटपुट
VarHandle इंस्टेंस सफलतापूर्वक बनाया गया!!!