Вы можете использовать Набор для хранения всех ваших приветствий, а затем использовать filter и ifPresent для выполнения вашего условия:
Stream.of("Hello", "Helloo", "Hellooo", "Hellooo...")
.filter(str::equals)
.findAny()
.ifPresent(c -> {
if (x != null) {
// do something
} else {
// do something else
}
});
Но в вашем случае я хотел бы использовать:
if (str.matches("Hell[o]{1,4}(\\.{4})?")) {
if (x != null) {
// do something
} else {
// do something else
}
}
Что касается регулярного выражения, вы можете улучшить его на основе ваших входных данных, я сделал быстрый, чтобы показать вам другое решение.