简化两个布尔表达式

Simplify two boolean expressions

我在简化两个布尔表达式时遇到了麻烦。

boolean sayHi = true;
boolean isValid = someVariable.equals(new exampleClass("hello")) || someVariable.equals(new exampleClass("Hi"));

if (sayHi & !isValid) {
 return;
}

我怎样才能简化这个?我认为 isValid 看起来很大,有没有办法做到这一点?请帮助我。

boolean sayHi = true;
boolean valid = Arrays.asList("hello", "hi").contains(someVariable.getName());

if (sayHi && !valid) {
    return;
}

较新的 java 将使用 Set.of(更好的语义、性能)。

isValid 更像是布尔值 getter.

的名称

假定可以使用 getter 检索“hello”和“hi”。

boolean sayHi = true;

if (sayHi && !someVariable.equals(new exampleClass("hello")) 
          && !someVariable.equals(new exampleClass("Hi"))) 
     return;