Java 9 中的变量句柄是什么?

javaobject oriented programmingprogramming更新于 2025/9/9 3:56:17

变量句柄是一个变量或对一组变量的引用,包括堆数据结构中的静态字段、非静态字段和外部数组元素的其他组件。这意味着变量句柄类似于现有的方法句柄。它可以通过使用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

相关文章


有用资源