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