2

根据https://www.javonet.com/java-devs/guides/working-with-net-arrays-and-collections-from-java-with-javonet/中的示例,如果 Java 调用的 dll 返回一个整数数组,Javonet 将只显示一个整数类数组(不是原语)。由于在我的情况下数组很大(大约 2GB 的数组),Javonet 有什么办法不自动装箱,而是返回一个原语数组?

4

1 回答 1

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”。

一旦确认它可以提高您的性能,我们将在最终构建中包含它并分别更新此答案。

于 2018-04-28T19:36:42.670 回答