假设我像这样初始化一个数组:
int[] anArray = { 100, 200, 300, 400, 500, 600, 700, 800, 900, 1000 };
是否保证元素将始终按照我在初始化时键入的顺序插入?例如:100,200,300,400,500,600,700,...,1000
?
是的,这是由规范保证的(见JLS 10.6):
然后,由数组初始化程序的大括号直接包围的变量初始化程序按照它们在源代码中出现的文本顺序从左到右执行.第n个变量初始化器指定第n-1个阵列组件的值.
简短的回答:是的,如果你这样初始化它们,它们将按照初始化的顺序排列.
请参阅JLS:
然后,由数组初始化程序的大括号直接包围的变量初始化程序按照它们在源代码中出现的文本顺序从左到右执行.第n个变量初始化器指定第n-1个阵列组件的值
https://docs.oracle.com/javase/specs/jls/se8/html/jls-10.html#jls-10.6