Java 9中的Variable Handle是什么?

Java 9中的Variable Handle是什么?

Variable Handle 是一个变量或者一组变量的引用,包括静态字段、非静态字段和堆数据结构中的外部数组元素。这意味着Variable Handle与现有的Method Handle类似。可以使用java.lang.invoke.VarHandle 类来表示它。我们可以使用java.lang.invoke.MethodHandles.Lookup静态工厂方法来创建Variable Handle 对象。它还可以用于访问数组中的单个元素,以及 byte[] 数组。

语法

<strong>public abstract class VarHandle extends Object</strong>

Example

的中文翻译为:

示例

import java.lang.invoke.MethodHandles;
import java.lang.invoke.VarHandle;
import java.util.Arrays;

public class VarHandleTest {
   public static void main(String args[]) {
      <strong>VarHandle </strong>varHandle = <strong>MethodHandles.arrayElementVarHandl</strong>e(<strong>int[].class</strong>);
      int[] array = new int[5];

      printArray(array);
      varHandle.<strong>set</strong>(array, 2, 5);
      printArray(array);

      System.out.println(varHandle.<strong>get</strong>(array, 2));
   }
   private static void printArray(int[] array) {
      System.out.println(Arrays.toString(array));
   }
}

输出

<strong>[0, 0, 0, 0, 0]
[0, 0, 5, 0, 0]
5</strong>

以上就是Java 9中的Variable Handle是什么?的详细内容,更多请关注其它相关文章!