当前位置: 首页 > 知识库问答 >
问题:

Java:int[]数组与int数组[][重复]

荀豪
2023-03-14

之间有区别吗

int[] array = new int[10];

int array[] = new int[10];

两者都起作用,结果完全相同。哪一个更快或更好?有推荐的款式指南吗?

共有3个答案

贝成业
2023-03-14

它们基本上是相同的,没有任何类型的性能差异,但是推荐的是第一种情况,因为它更具可读性。

int[] array = new int[10];

来自JLS:

[]可以作为类型的一部分出现在声明的开头,或者作为特定变量的声明符的一部分,或者两者兼而有之。

米修平
2023-03-14

来自JLShttp://docs.oracle.com/javase/specs/jls/se5.0/html/arrays.html#10.2

以下是不创建数组的数组变量声明示例:

int[ ] ai;          // array of int
short[ ][ ] as;         // array of array of short
Object[ ]   ao,     // array of Object
        otherAo;    // array of Object
Collection<?>[ ] ca;        // array of Collection of unknown type
short       s,      // scalar short 
        aas[ ][ ];  // array of array of short

以下是创建数组对象的数组变量声明的一些示例:

Exception ae[ ] = new Exception[3]; 
Object aao[ ][ ] = new Exception[2][3];
int[ ] factorial = { 1, 1, 2, 6, 24, 120, 720, 5040 };
char ac[ ] = { 'n', 'o', 't', ' ', 'a', ' ',
                 'S', 't', 'r', 'i', 'n', 'g' }; 
String[ ] aas = { "array", "of", "String", };

[]可能作为类型的一部分出现在声明的开头,或者作为特定变量的声明符的一部分出现,或者两者都出现,如本例所示:

byte[ ] rowvector, colvector, matrix[ ];

本声明相当于:

byte rowvector[ ], colvector[ ], matrix[ ][ ];
高山
2023-03-14

两者是等价的。请看以下内容:

int[] array;

// is equivalent to

int array[];
int var, array[];

// is equivalent to

int var;
int[] array;
int[] array1, array2[];

// is equivalent to

int[] array1;
int[][] array2;
public static int[] getArray()
{
    // ..
}

// is equivalent to

public static int getArray()[]
{
    // ..
}
 类似资料:
  • 问题内容: 两者之间有区别吗 和 ? 两者都起作用,并且结果完全相同。哪个更快或更更好?是否有推荐的风格指南? 问题答案: 两者是等效的。看一下以下内容:

  • 我正在尝试用java swing制作一个Tic-Tac-Toe程序,我已经制作了框架。如何让JButton数组中的按钮激活int数组?我希望int数组保存Tic-Tac-Toe网格中点的值,因此当按下按钮时,int数组中的对应点将是0或1,按钮的文本将更改为X或O。

  • 问题内容: 我正在尝试将字符串转换为整数数组,以便随后可以对它们执行数学运算。我在以下代码方面遇到麻烦: 这给了我一个“无法转换的类型”错误,要求:int []发现:char我还尝试了其他一些方法,例如Character.getNumericValue,并且直接对其进行了直接分配,而没有进行任何修改。在那种情况下,无论我使用哪种转换方法或(!)字符串的实际值是什么,它总是输出相同的垃圾“ [I @

  • 问题内容: 因为我有一个包含重复项的int数组的ArrayList,所以我想使用HashSet。不幸的是,我无法按需使用HashSet: 结果是: 有人可以告诉我我错了吗? 在此先感谢Dominique(java newbie) 问题答案: 数组不会在类中重写并实现,因此,只有当a1 == a2时,两个数组a1和a2 才被视为彼此相同,这在您的情况下是错误的。 如果使用s而不是数组,则将解决问题,

  • 我有一个这样的字符串 我需要提取每个部分。我已经解析了前三个字符串(“Anderson,T”,CWS,SS),但现在我需要提取123,我在这方面遇到了一些问题。我在前三个字段中使用的方法是使用line。分裂 但我不能用线条。使用整型数组拆分。有人能帮我吗? 谢谢

  • 我正在尝试制作一个程序,要求使用min和max以及数组的长度,根据用户输入的max和min(int或double),它将创建一个int或do倍的数组。我的代码的问题是,当我试图运行它时,编译器说变量尚未初始化。我假设做一个重载方法更好,但我不确定如何做。