根据https://www.javonet.com/java-devs/guides/working-with-net-arrays-and-collections-from-java-with-javonet/中的示例,如果Java正在调用的dll返回一个int数组,Javonet将只显示一个Integer类数组(不是基元)。由于数组在我的情况下是巨大的(大约2GB的数组),Javonet有没有任何方法可以不使用autobox,而是返回一个原语数组?
答案 0 :(得分:0)
我们已经实现了这种机制,允许您选择Javonet是否应该返回盒装或未装箱的数组。它可用于整个应用程序范围或临时设置用于特定操作,但请记住,其beta版本和选项会影响所有线程,因此如果有选择地使用,应谨慎使用。
请使用此版本: http://download.javonet.com/1.5/javonet-1.5hf15-primitivearrays-opti-jtdn.jar
要随时激活原始数组模式调用:
Javonet.setUsePrimitiveArrays(true);
此模式影响所有基本类型:int,long,short,byte,float,double,boolean,char ...要取消此模式,只需设置“false”。
一旦确认它可以改善您的表现,我们将在最终版本中包含该内容并分别更新此答案。