1

如果我没记错的话,即使我们将大字符串或字节数组作为参数传递给方法,它也只会将指针传递给数据堆而不是完整数据。所以它不应该降低任何性能,也不应该不必要地堆积内存。只是想确认我对上述说法的理解是否正确?
我知道最好将字符串或字节数组作为私有变量保留在类中,并在所需的每个方法中访问它,从而从方法调用中消除一个额外的参数。

谢谢

4

1 回答 1

3

如果我没记错的话,即使我们将大字符串或字节数组作为参数传递给方法,它也只会将指针传递给数据堆而不是完整数据。

是的,当您传递任何引用类型参数时,只会按值传递引用。请注意,这与“按引用传递”不同,后者适用于引用类型和值类型的参数。

有关更多信息,请参阅我关于引用类型和值类型以及参数传递的文章。

我知道最好将字符串或字节数组作为私有变量保留在类中,并在所需的每个方法中访问它,从而从方法调用中消除一个额外的参数。

这完全取决于上下文。它在逻辑上是类状态的一部分吗?

于 2012-08-15T16:42:19.003 回答