将参数传递给方法的顺序(Java)

Fei*_*anZ 0 java methods parameter-passing

是否将参数传递给定义的方法(在Java中)?例如,在代码段中

Arrays.equals(ascendingSegment, Arrays.sort(ascendingSegment))

用于检查数组是否实际上按升序排序,我保证在调用sort方法之前传入原始数组吗?

编辑: 似乎有一点误解.equals在第一个参数传递之前,方法是否在排序之前获取了ascendingSegment的副本,或者是第一个调用的排序?给定一个数组,如{1, 5, 2, 4}equals方法接收{1, 5, 2, 4}{1, 2, 4, 5}作为参数或两个副本{1, 2, 4, 5}

unh*_*ler 6

如果您使用调试器逐步执行它并逐步执行它,您将看到所有参数都被计算,然后调用该函数.

我还会说,尝试做你发布的内容是一种不好的做法.在测试对象时,您不应该对该对象执行任何会使其变异的操作.在该方法调用之后,您将无法在测试之前显示列表的顺序.

编辑: Arrays.sort()不返回值,它就地排序.因此你不能像这样使用它.您应该使用Arrays.copyOf()制作数组的副本,对副本进行排序,然后比较两个数组.