Как преобразовать Object в Integer для нахождения минимума и максимума

мне нужно найти минимальное и максимальное значение. Видел способы для нахождения min и max только для объектов типа List <Integer>. Созрел вопрос: как преобразовать Object в Integer? Пробовала так, но не знаю правильно ли это:

  List <Integer> minimum = new ArrayList(listValue);

Ответы (1 шт):

Автор решения: Митяй

Отвечая на вопрос "Как преобразовать Object в Integer", знаю 2 способа:

  1. int intValue = Integer.parseInt(object.toString());
  2. int intValue = (Integer) object;

Однако стоит иметь в виду, что на месте Object может быть как число, так и иные символы. Стоит сделать дополнительную проверку на соответствие числу.

Вот возможная реализация с помощью потоков данных (Stream API):

    List<Object> listValue = new ArrayList<>(Arrays.asList(5,2,4,"8a2 ","go",'a',8));
    int minimum = listValue.stream()
            .filter(e -> e instanceof Number)
            .mapToInt(e -> Integer.parseInt(e.toString()))
            .min()
            .getAsInt();

    System.out.println(minimum);
→ Ссылка