[PrimitiveBoxingDelegate和PrimitiveUnboxingDelegate的实现似乎有所不同。
基本上,我想在堆栈上装一个原始值,以便可以将其作为引用返回(即该方法返回Object)
PrimitiveUnboxingDelegate.forPrimitive()为我提供了StackManipulation,但不幸的是PrimitiveBoxingDelegate.forPrimitive()没有为我提供。
是否有一种简单的方法来创建Box StackManipulation?
您可以,您只需将装箱值的类型指定为拆箱所隐含的类型:
StackManipulation sm = PrimitiveBoxingDelegate
.forPrimitive(...)
.assignBoxedTo(..., Assigner.DEFAULT, Assigner.Typing.STATIC);
您可以将int
强制转换为例如Object
或Number
。但是,您也可以创建非法组合,有时也可以创建字节伙伴自己所需的组合。