What are the conventions for array creation?
在Java中创建数组的惯例是什么?我应该用吗?
1 | int[] myIntArray; |
或
1 | int myIntArray[]; |
另外,在创建时或之后初始化它们的值更好吗?
2VS
1 2 | int[] myIntArray; myIntArray = new int[] {1,2,3}; |
它只是一种写它的替代方法,因为数组索引可以放在类型名之后,也可以放在标识符名之后。唯一的区别是,如果在一行中声明多个变量,如果索引放在类型名之后,则列出的所有标识符都将是该类型的数组,而如果索引放在标识符名之后,则只有该标识符将是数组。
例子:
2我建议将索引放在类型(int[]array1)之后,这样它就不会有歧义。
当您尽可能地声明数组时,立即初始化它,因为它更有效。如果您不立即初始化数组,那么JVM将用零或
初始化示例:
1 2 3 4 5 6 7 8 9 | //"Slow" filling int[] arr = new int[3]; // Filled with zeros by default arr[0] = 1; // Explicit index, index check arr[1] = 2; // Explicit index, index check arr[2] = 3; // Explicit index, index check //"Fast" filling at creation time, implicit indices and array length, // no index checks int[] arr2 = {1, 2, 3}; |
声明数组时,约定要求使用数据类型而不是数组变量的方括号。
1 2 | int[] myIntArray; // This is the convention int myIntArray[]; // Ok by syntax, but not the Java convention |
初始化值完全取决于您的用法,但最好使用完整的数组声明
1 2 | int[] myIntArray = new int[]{1,2,3}; // Better int[] myIntArray = {1,2,3}; // Ok by syntax, but not the convention |
1 2 | int[] anArray; // Declares an array of integers anArray = new int[10]; // One way to create an array is with the new operator |
或者,可以使用快捷方式语法创建和初始化数组:
1 2 3 4 5 | int[] anArray = { 100, 200, 300, 400, 500, 600, 700, 800, 900, 1000 }; |
声明数组引用时,应始终将数组括号放在声明的类型之后,而不是标识符(变量名)之后。这样,任何阅读代码的人都可以很容易地知道,例如,key是对int数组对象的引用,而不是int原语。
1 2 | int[] key; int key []; |
此外,在详细介绍变量初始化的页面上,他们有一个示例,演示了将括号放在变量名后面可能出现的问题:
1 | int foo, fooarray[]; // WRONG! |
int arrayname[]或int[]arrayname
这两者都有可能,但
我认为这取决于项目的代码标准。没有更好的方法。在我的情况下,我使用