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

变量句柄 是变量或对一组变量的引用,包括堆数据结构中的静态字段,非静态字段和外部 数组元素的其他组件。这意味着变量句柄类似于现有的方法句柄。可以使用java.lang.invoke.VarHandle 类来表示。我们可以使用java.lang.invoke.MethodHandles.Lookup静态工厂方法来创建Variable Handle 对象。它还可以用于访问array和 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

以上是 Java 9中的变量句柄是什么? 的全部内容, 来源链接: utcz.com/z/343448.html

回到顶部