Variable Handle হলো একটি ভেরিয়েবল বা ভেরিয়েবল সেটের রেফারেন্স, যার মধ্যে রয়েছে স্ট্যাটিক ফিল্ড, নন-স্ট্যাটিক ফিল্ড, এবং হিপ ডেটা স্ট্রাকচারে অ우টার অ্যারে এলিমেন্ট। অর্থাৎ Variable Handle বিদ্যমান Method Handle-এর মতো। এটি java.lang.invoke.VarHandle ক্লাস দিয়ে রিপ্রেজেন্ট করা হয়। আমরা java.lang.invoke.MethodHandles.Lookup স্ট্যাটিক ফ্যাক্টরি মেথড ব্যবহার করে Variable Handle অবজেক্ট তৈরি করতে পারি। এটি অ্যারেতে একটি একক এলিমেন্ট এবং byte[] অ্যারে অ্যাক্সেস করতে ও ব্যবহার করা যায়।
সিনট্যাক্স
public abstract class VarHandle extends Object
উদাহরণ
import java.lang.invoke.MethodHandles;
import java.lang.invoke.VarHandle;
import java.util.Arrays;
public class VarHandleTest {
public static void main(String args[]) {
VarHandle varHandle = MethodHandles.arrayElementVarHandle(int[].class);
int[] array = new int[5];
printArray(array);
varHandle.set(array, 2, 5);
printArray(array);
System.out.println(varHandle.get(array, 2));
}
private static void printArray(int[] array) {
System.out.println(Arrays.toString(array));
}
}
আউটপুট
[0, 0, 0, 0, 0] [0, 0, 5, 0, 0] 5