Java 9 中的变量句柄是什么?
变量句柄是变量或对一组变量的引用,包括静态字段的其它组成部分、非静态字段和堆数据结构中的外部数组元素。这意味着变量句柄类似于现有的方法句柄。可以使用 java.lang.invoke.VarHandle 类来表示它。我们可以使用 java.lang.invoke.MethodHandles.Lookup静态工厂方法来创建变量句柄对象。也可以用来访问数组和 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
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP