Почему-то я не могу использовать проверку instanceof
в потоке. Проблема возникла в тесте:
ArgumentCaptor<MyClass> arg = ArgumentCaptor.forClass(MyClass.class);
verify(modelService).save(arg.capture());
Метод save
вызывается три раза с разными аргументами (экземплярами разных классов), а arg.getAllValues()
возвращает SomeOtherClassObject1,SomeOtherClassObject2,MyClassObject
Поток ниже выдает исключение "SomeOtherClass не может быть приведен к MyClass"
MyClass argument = arg.getAllValues().stream()
.filter(v -> v instanceof MyClass)
.findFirst()
.get()
Но если я использую foreach, все работает нормально:
MyClass argument = null;
for(Object o : arg.getAllValues()) {
if(o instanceof MyClass) {
argument = (MyClass) o;
break;
}
}