Метод checkFromToIndex
Метод checkFromToIndex класса Objects проверяет,
что диапазон индексов от fromIndex (включительно)
до toIndex (не включая его) является допустимым
для массива или коллекции длиной length.
В первый параметр мы передаем начальный индекс,
во второй - конечный индекс, в третий - длину массива.
Если хотя бы один из параметров некорректен, метод
выбрасывает исключение IndexOutOfBoundsException.
Метод возвращает fromIndex, если проверка прошла успешно.
Синтаксис
Objects.checkFromToIndex(int fromIndex, int toIndex, int length)
Пример
Давайте проверим корректный диапазон для массива длиной 5:
import java.util.Objects;
public class Main
{
public static void main(String[] args)
{
int fromIndex = 1;
int toIndex = 4;
int length = 5;
int res = Objects.checkFromToIndex(fromIndex, toIndex, length);
System.out.println(res);
}
}
Результат выполнения кода:
1
Пример
Давайте передадим некорректный диапазон, где toIndex
больше длины массива, и поймаем исключение:
import java.util.Objects;
public class Main
{
public static void main(String[] args)
{
int fromIndex = 2;
int toIndex = 10;
int length = 5;
try
{
Objects.checkFromToIndex(fromIndex, toIndex, length);
}
catch (IndexOutOfBoundsException e)
{
System.out.println(e.getMessage());
}
}
}
Результат выполнения кода:
"Range [2, 10) out of bounds for length 5"
Пример
Давайте передадим диапазон, в котором начальный индекс больше конечного, и поймаем исключение:
import java.util.Objects;
public class Main
{
public static void main(String[] args)
{
int fromIndex = 4;
int toIndex = 2;
int length = 5;
try
{
Objects.checkFromToIndex(fromIndex, toIndex, length);
}
catch (IndexOutOfBoundsException e)
{
System.out.println(e.getMessage());
}
}
}
Результат выполнения кода:
"Range [4, 2) out of bounds for length 5"
Смотрите также
-
метод
checkIndex,
который проверяет один индекс -
исключение
IndexOutOfBoundsException,
которое выбрасывает метод -
класс
Objects,
который содержит статические методы для работы с объектами -
метод
requireNonNull,
который проверяет объект на null