Я новичок в vavr, поэтому я не знаю, пропускаю ли я какие-то базовые вещи, но я выполняю сопоставление с образцом, которого сейчас нет в Java. После отладки я понял, что vavr соответствует всем случаям, но не будет выполнять значение, если указан поставщик, если условие случая не соответствует. Это правильно?
например:
public Enum Days{
MONDAY,
TUESDAY...
}
String s = Match(days).of(
Case($(Days.MONDAY), "monday"),
Case($(Days.TUESDAY), "tuesday")
);
В приведенном выше примере, если days = MONDAY, он вызывает метод CASE, передает значение перечисления и проверяет, есть ли совпадение. В этом случае это совпадение, поэтому он вернет «понедельник». Я надеялся, что сопоставление с образцом будет прекращено, так как мы получили совпадение. Но оказывается, что он снова входит в метод Case для вторника, шаблон не совпадает, поэтому значение остается «понедельник», но мне было интересно, есть ли способ остановить сопоставление шаблона после выполнения условия.