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

更新於: 2020 年 3 月 13 日

465 次瀏覽

開啟你的 職業生涯

透過完成課程獲得認證

入門
廣告
© . All rights reserved.