更改值但不返回任何内容的方法

Mob*_*Mob 7 java arrays

请问什么是改变变量内容的方法,而不返回任何内容.

例如,在java.util.Arrays类中的Java中,静态方法sort在内部对数组进行排序,并将已排序的数组设置为原始数组变量(不确定).

import static java.util.Arrays.sort;
public class bs {
public static void main(String [] args){

    int[] arr = {3,2,4,8,2,5,33,12,19,15,20};
    sort(arr); // doing this stuff <<<< and not int [] arr1 = sort(arr); 
  }
 }
Run Code Online (Sandbox Code Playgroud)

1 - 这种方法是否有特定术语,

和;

2 - 这在内部如何运作?它是否删除原始变量并将已排序的值分配给具有相同名称的新变量或??

谢谢!!

Jon*_*eet 9

我通常把它称为变异器 - 或者只是说它有副作用.(通常,mutator是一个对象上调用的方法,它会改变该对象的状态.在这种情况下,我们将更改参数/参数引用的对象,这稍微不同.)

至于它是如何工作的 - 理解变量,引用对象之间的区别很重要.

这个方法调用:

sort(arr);
Run Code Online (Sandbox Code Playgroud)

arr变量的值复制为sort方法中参数的值.该值是对象的引用(在本例中为数组).该方法根本不会改变它的值arr- 它仍然是对同一个数组的引用.但是,该方法会更改数组的内容(即哪些元素具有哪些值).