Using Array.getInt(Object array, int index) vs Array[]



我正在尝试检索数组中指定索引处的项目,如forloop的正文所示。

public int arrayCount9(int[] nums) {
int count = 0;
for (int i = 0; i < nums.length; i ++) {
if (Array.get(nums, i) == 9) {
count ++;
}
}    
return count;
}

但是,这个问题中的正确代码实际上是这样的:

public int arrayCount9(int[] nums) {
int count = 0;
for (int i = 0; i < nums.length; i ++) {
if (nums[i] == 9) {
count ++;
}
}
return count;
}

Array.get(nums, i( == 9(和 (nums[i] == 9( 之间有区别吗?get(Object array,int index(的文档似乎适合这个问题。此外,我以前实际上从未遇到过(nums[i] == 9(,所以如果您也能解释该代码,非常感谢!

据我从文档中可以看出,两者之间最重要的区别是Array.get(myArray, myIndex)将返回原始Object,而myArray[myIndex]将返回myArray存储的类型值。

例如,如果你有一个名为myStringArray的字符串数组,Array.get(myStringArray, 4)会给你一个不起眼的Object值,而myStringArray[4]会给你一个String值。

一般来说,人们倾向于使用myArray[myIndex]语法,除非他们有令人信服的理由不这样做。它本质上意味着"在索引myIndex处获取名为myArray的数组中的项目"。

最新更新