以下代码用于快速排序类。在底部,有一个名为swap的方法,它应该采用一个数组并交换数组中的两个数字。这在Java中可行吗?换句话说,是否有可能在这个实例中使用swap(T [],int,int)格式的方法?我希望我的问题有道理。
ACTION_CANCEL
答案 0 :(得分:0)
是的,你可以这样做,因为在Java中,一个Array是一个Object,所以当你传递它时,你实际上是在内存中传递它的地址。然后,被调用的函数可以对其进行操作,这些更改将反映在任何地方。
您可能正在考虑在C ++中可以使用java无法完成的任务,即swap(int x, int y)
。因为java中的原始数据值没有地址(不是程序员可用的地址),所以没有办法将它们的地址传递掉,因此可以非本地修改它们。
这有意义吗?