gpt4 book ai didi

java - 在单独的方法中操作数组

转载 作者:行者123 更新时间:2023-11-30 07:00:14 26 4
gpt4 key购买 nike

在我的教科书中,至少对我来说,没有什么奇怪的,也就是说我有一个类,这个类有一个方法,它接受整数(或任何东西)上的数组,然后用任何类型的排序它算法。奇怪的是他只是调用该方法并传递数组,并且该方法不会返回任何无效的内容。

.....
sort(anArray)
.....
.....
.....
public void sort(int[] array)
.....

这将立即更新要排序的数组。我的想法是该方法将返回另一个数组,该数组是相同的数组但已排序,因此它将是

.....
arrayx = sort(anArray)
.....
.....
.....
public int[] sort(int[] array)
.....

您能向我解释一下这些差异吗?

最佳答案

示例 1

sort(anArray);
...
public void sort(int[] array) { ... }

在这个例子中,已经传入的数组正在被修改。没有返回任何内容。

之所以能够做到这一点,是因为 Java 将数组作为函数的参数进行处理。

您应该看看这个问题,它解释了数组参数如何工作:Are arrays passed by value or passed by reference in Java?

示例 2

arrayx = sort(anArray);
...
public int[] sort(int[] array) { ... }

在此示例中,在函数内部创建一个新数组,然后返回。

由于原数组没有被修改,所以需要将函数调用的结果存储在变量中才能获得排序后的数组。

关于java - 在单独的方法中操作数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41051201/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com