0

我正在寻找在我的应用程序中做的最佳方法,现在我想知道:

我通过读取 InputStream 收到了一个字节数组 (byte[])。然后我要做一些处理,所以我将这个数组作为方法的参数传递。来自 C++ 语言,因为我必须尽可能快地进行这种处理,而且很多时候,我想知道按值传递字节数组是否不会导致问题。

是否值得创建一个 ByteBuffer 对象来传递对我的方法的引用而不是值?

感谢您的帮助和建议。

4

3 回答 3

1

在 Java 中,数组是对象,因此您实际上是将引用变量的副本传递给该对象。

C++ 中的 IIRC 传递数组相当于传递指向第一个元素的指针。

于 2013-02-01T13:40:06.747 回答
1

传递byte[]引用就像传递序数对象引用一样。不会复制数组。值得用ByteBuffer.

于 2013-02-01T13:40:37.840 回答
0

一般来说,使用原始类型会更快,因为它需要更少的内存来存储数据。

因此,我建议保留字节数组解决方案。这当然取决于你打算用它做什么“治疗”:)

于 2013-02-01T13:42:07.537 回答