0
我已經定義了一個簡單的數組,我想用下面的代碼片段使用Unsafe.arrayBaseOffset
和Unsafe.arrayIndexScale
。正確使用arrayBaseOffset和arrayIndexScale
import sun.misc.Unsafe;
public class Arr
{
public static void main(String[] args)
{
int [] a = new int[3];
a[0] = 10; a[1] = 20; a[2] = 30;
int baseOffset = Unsafe.arrayBaseOffset(a.getClass());
int indexScale = Unsafe.arrayIndexScale(a.getClass());
}
}
但是我得到這些錯誤
Arr.java:11: non-static method arrayBaseOffset(java.lang.Class) cannot be referenced from a static context
int baseOffset = Unsafe.arrayBaseOffset(a.getClass());
^
Arr.java:12: non-static method arrayIndexScale(java.lang.Class) cannot be referenced from a static context
int indexScale = Unsafe.arrayIndexScale(a.getClass());
^
您是否嘗試引用完全限定的對象名稱。即'sun.misc.Unsafe'? – christopher