Как передать массивы в Java, где я могу указать другой начальный индекс (0-й индекс) для аргумента массива. В C++ вы можете передавать такие массивы, как этоПередайте массив как аргумент, имеющий другой начальный индекс
myMethed(myArray + 3); // passing method where begin index is 4th element
...
void myMethod(int* arr) {
int val = arr[0]; // refers to the 4th element
int val2 = arr[1]; // 5th element
}
Как я могу сделать что-то подобное на Java. Я попытался скопировать подмножество массива, используя Arrays.copyOfRange
, но мне не нужна отдельная копия, но тот же массив с другим начальным индексом.
Конечно, я могу это сделать:
myMethod(int[] arr, int startIndex) {
int val = arr[startIndex];
int val2 = arr[startIndex + 1];
}
Но есть и другие способы, не объявляя отдельный параметр для индекса запуска? Большое спасибо.
Нет нет никакого другого пути. У вас уже есть лучший вариант, если вы не хотите дублировать массив. –
@Rohitjain верен. Основная причина в том, что в java нет арифметики указателей или даже указателей. Поблагодарите божество за ваш выбор. – Bohemian
Нет ничего плохого в вашем собственном решении. Когда вы пишете Java-код, вы должны думать в Java, а не на C++. :) – mrt