Использование Array.getInt (массив объектов, индекс int) vs Array [] - PullRequest
0 голосов
/ 20 июня 2020

Я пытаюсь получить элемент по указанному индексу в массиве, как показано в теле forl oop.

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), поэтому, если вы могли бы объяснить этот код, я очень признателен!

1 Ответ

2 голосов
/ 20 июня 2020

Насколько я могу судить из документации , наиболее важным различием между ними является то, что Array.get(myArray, myIndex) вернет необработанное Object, тогда как myArray[myIndex] вернет значение типа это myArray магазинов.

Например, если у вас есть массив строк с именем myStringArray, Array.get(myStringArray, 4) даст вам невзрачное значение Object, тогда как myStringArray[4] даст вам значение String.

В общем, люди должны использовать синтаксис myArray[myIndex], если у них нет веских причин не делать этого. По сути, это означает «получить элемент в массиве с именем myArray по индексу myIndex.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...