У меня есть функция с параметром Object
. Этот объект может будет коллекцией в самом общем смысле это возможно: это может быть список, картой, итерация и т.д., в этом случае я хочу, чтобы обработать каждый элемент, принадлежащим к нему:Как получить поток из общей коллекции?
public void f(Object o) {
if (o instanceof SOMECLASSORINTERFACE<?>) {
Stream.of(o).map(..)...;
} else {
// o is scalar
...
}
}
код выше не работает: Stream.of()
не разбивает мой объект на его элементы на поток, а выводит только один элемент, объект o
сам.
Я не могу использовать o.stream().map...
, потому что o
является слишком общим и может не иметь метода stream
.
Отливка o
на Collection
не работает. Кроме того, проверка Collection
членства, вероятно не правильно делать ...
Так как я могу получить поток из родового коллекции?
Объект не является родовой коллекцией она родовое все, что вам нужно будет сделать отливку или использовать, например, Итерабельный вместо объекта. –