Как преобразовать Object в Integer для нахождения минимума и максимума
мне нужно найти минимальное и максимальное значение. Видел способы для нахождения min и max только для объектов типа List <Integer>. Созрел вопрос: как преобразовать Object в Integer? Пробовала так, но не знаю правильно ли это:
List <Integer> minimum = new ArrayList(listValue);
Ответы (1 шт):
Автор решения: Митяй
→ Ссылка
Отвечая на вопрос "Как преобразовать Object в Integer", знаю 2 способа:
int intValue = Integer.parseInt(object.toString());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);