我试图做一个短代码来切换数组中的第一个和最后一个值,并输出一个与第一个数组相同的新数组,但切换了这些值。经过几次尝试后,我意识到我的第一个(原始)数组保持切换其[0]值,我不知道为什么。这是代码。为什么我的数组切换值?
import java.util.Arrays;
public class testing {
public static void main(String[] args) {
int[] original={1,2,3,4};
int[] switched=original;
switched[0]=original[original.length-1];
switched[switched.length-1]=original[0];
System.out.println(Arrays.toString(switched));
}
}
我想要的输出为[4,2,3,1],但我总是[4,2,3,4]。最初
1,2,3,4
后
两个'original'和'switched'引用相同的阵列。你对他们中的一个做的任何事情你都在做。你想要一个* new *数组。 –