原始拳击堆栈操作
Primitve Boxing StackManipulation
PrimitiveBoxingDelegate 和 PrimitiveUnboxingDelegate 的实现似乎有所不同。
基本上我想在堆栈上装箱一个原始值,因此它可以作为参考返回(即方法 returns 对象)
PrimitiveUnboxingDelegate.forPrimitive() 为我提供了 StackManipulation,但不幸的是 PrimitiveBoxingDelegate.forPrimitive() 没有。
是否有创建拳击 StackManipulation 的简单方法?
你可以,你只需要指定值应该被装箱的类型到拆箱的隐式类型:
StackManipulation sm = PrimitiveBoxingDelegate
.forPrimitive(...)
.assignBoxedTo(..., Assigner.DEFAULT, Assigner.Typing.STATIC);
您可以将 int
转换为 Object
或 Number
。但是,您可以创建非法组合,有时为了 Byte Buddy 自己的目的也需要这样做。
PrimitiveBoxingDelegate 和 PrimitiveUnboxingDelegate 的实现似乎有所不同。
基本上我想在堆栈上装箱一个原始值,因此它可以作为参考返回(即方法 returns 对象)
PrimitiveUnboxingDelegate.forPrimitive() 为我提供了 StackManipulation,但不幸的是 PrimitiveBoxingDelegate.forPrimitive() 没有。
是否有创建拳击 StackManipulation 的简单方法?
你可以,你只需要指定值应该被装箱的类型到拆箱的隐式类型:
StackManipulation sm = PrimitiveBoxingDelegate
.forPrimitive(...)
.assignBoxedTo(..., Assigner.DEFAULT, Assigner.Typing.STATIC);
您可以将 int
转换为 Object
或 Number
。但是,您可以创建非法组合,有时为了 Byte Buddy 自己的目的也需要这样做。