我正在寻找在我的应用程序中做的最佳方法,现在我想知道:
我通过读取输入流收到了一个字节数组(byte[])。然后我必须做一些处理,所以我将这个数组作为方法的参数传递。来自C++语言,并且由于我必须尽快进行这种处理,并且很多时候,我想知道按值传递字节数组是否不会引起问题。
是否值得创建一个 ByteBuffer 对象来传递对我的方法的引用而不是值?
感谢您的帮助和建议。
在 Java 中,数组是对象,因此您实际上是将引用变量的副本传递给此对象。
IIRC C++传递数组等效于传递指向第一个元素的指针。
传递byte[]
引用就像传递序号对象引用一样。不会复制数组。不值得用ByteBuffer
包裹.
通常,使用基元类型更快,因为它需要更少的内存来存储数据。
因此,我建议保留字节数组解决方案。当然,这取决于您打算用它做什么"治疗":)