我们如何在Java 9中创建VarHandle的实例?
通常,变量句柄只是简单地键入对变量的引用。这将是数组元素,类的实例或静态字段。VarHandle类可以在特定条件下提供对变量的写和读访问。这些是不可变的,没有可见的条件。另外,它们不能被子分类,并且每个VarHandle都有一个通用类型T,这是此VarHandle表示的每个变量的类型。VarHandle的目的是定义一个标准,用于调用java.util.concurrent.atomic的等效项和sun.misc。对字段和数组元素的不安全操作。
在下面的示例中,我们可以使用MethodHandle.lookup()方法创建VarHandle实例。
示例
import java.lang.invoke.VarHandle;
import java.lang.invoke.MethodHandles;
public class VarHandleInstanceTest {
public static void main(String args[]) {
try {
VarHandle fieldHandle = MethodHandles.lookup().in(Student.class).findVarHandle(Student.class, "studentId", int.class);
System.out.println("VarHandle instance created successfully!!!");
} catch (NoSuchFieldException | IllegalAccessException e) {
e.printStackTrace();
}
}
}// Stundent classclass Student {
protected int studentId;
private String[] marks;
public Student() {
studentId = 0 ;
marks = new String[] {"75" , "85" , "95"} ;
}
}输出结果
VarHandle instance created successfully!!!
热门推荐
10 公司商务中秋祝福语简短
11 同事辞职正常祝福语简短
12 牛年祝福语简短100句
13 涂老师毕业祝福语简短
14 日语送考祝福语简短
15 男童毕业蛋糕祝福语简短
16 婚礼结束聚餐祝福语简短
17 大厦动工祝福语简短精辟
18 店家搬家祝福语大全简短