根据中的例子https://www.javonet.com/java-devs/guides/working-with-net-arrays-and-collections-from-java-with-javonet/ https://www.javonet.com/java-devs/guides/working-with-net-arrays-and-collections-from-java-with-javonet/,如果 Java 调用的 dll 返回一个 int 数组,Javonet 将仅显示 Integer 类(而不是基元)的数组。由于在我的例子中数组很大(大约 2GB 的数组),Javonet 有没有办法不自动装箱,而是返回一个基元数组?
我们已经实现了允许您选择 Javonet 是否应返回装箱或未装箱数组的机制。它可以用于应用程序的整个范围,也可以为特定操作临时设置,但请记住,它的 beta 版本和选项会影响所有线程,因此如果有选择地使用,应谨慎使用。
请使用此版本:http://download.javonet.com/1.5/javonet-1.5hf15-primitivearrays-opti-jtdn.jar 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”。
一旦确认它可以提高您的性能,我们会将其包含在最终版本中并分别更新此答案。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)