Use métodos “has *” em vez de “get & check”.
import java.util.Arrays;
import java.util.List;
class SomeObject {
private List<String> aliases;
public List<String> getAliases() {
return aliases;
}
public void setAliases(List<String> aliases) {
this.aliases = aliases;
}
public boolean hasAliases() {
List<String> currentAliases = getAliases();
return (currentAliases != null) && !currentAliases.isEmpty();
}
}
public class Main {
public static void main(String[] args) {
SomeObject someObject = new SomeObject();
someObject.setAliases(Arrays.asList(
"first-alias", "second-alias", "third-alias"
));
// bad!
List<String> someObjectAliases = someObject.getAliases();
if (someObjectAliases != null && !someObjectAliases.isEmpty()) {
/* ... */
}
// good!
if (someObject.hasAliases()) {
/* ... */
}
}
}
Usar o método hasAliases torna o código mais claro e orientado para os humanos. Além disso, o método encapsula a lógica de verificação e evita a duplicação de código.