Primitve Boxing StackManipulation

问题描述 投票:1回答:1

[PrimitiveBoxingDelegate和PrimitiveUnboxingDelegate的实现似乎有所不同。

基本上,我想在堆栈上装一个原始值,以便可以将其作为引用返回(即该方法返回Object)

PrimitiveUnboxingDelegate.forPrimitive()为我提供了StackManipulation,但不幸的是PrimitiveBoxingDelegate.forPrimitive()没有为我提供。

是否有一种简单的方法来创建Box StackManipulation?

byte-buddy
1个回答
0
投票

您可以,您只需将装箱值的类型指定为拆箱所隐含的类型:

StackManipulation sm = PrimitiveBoxingDelegate
  .forPrimitive(...)
  .assignBoxedTo(..., Assigner.DEFAULT, Assigner.Typing.STATIC);

您可以将int强制转换为例如ObjectNumber。但是,您也可以创建非法组合,有时也可以创建字节伙伴自己所需的组合。

© www.soinside.com 2019 - 2024. All rights reserved.