Вы можете сохранить три значения в Set
Set<String> values = Set.of("BOOK","LANGUAGE","FORMAT"); //from java 9
, а затем использовать contains
MetaDataTypeEntity bookMdtTypeEntity= CollectionUtils.emptyIfNull(getMetaDataTypes()).stream()
.filter(data-> values.contains(data.getMetaDataTypeName().toUpperCase()))
.findAny().orElse(null);
. Как предложил @Holger, вы также можете использовать TreeSet
для игнорирования регистрапоиск, а также самая важная вещь findAny
возвращает Optional<MetaDataTypeEntity>
, поэтому приведение не будет выполнено, так как вы возвращаете MetaDataTypeEntity
и преобразуете его в List<MetaDataTypeEntity>
Set<String> set = new TreeSet<>(String.CASE_INSENSITIVE_ORDER);
set.add("BOOK");
set.add("LANGUAGE");
set.add("FORMAT");
MetaDataTypeEntity bookMdtTypeEntity= CollectionUtils.emptyIfNull(getMetaDataTypes()).stream()
.filter(data-> values.contains(data.getMetaDataTypeName()))
.findAny().orElse(null);