not
, and
und or
einfach lesbarer als !
, &&
und ||
(und ja, ich habe jahrelang C und C++ programmiert und weiß, wovon ich rede). Ein Beispiel:if (!liste.isEmpty()) { ... }M.E. ist das Ausrufungszeichen beim Durchsehen des Quelltextes viel zu leicht zu übersehen (und Code wird normalerweise viel häufiger gelesen als geschrieben).
if (not(liste.isEmpty())) { ... }
Während beispielsweise die EL beide Schreibweisen erlaubt, kennt Java leider nur die Symbol-Operatoren. Was tun? Zumindest für den Präfix-Operator
not
kann man statische Methoden definieren, die sich dann mittels statischer Imports wie in obigem Beispiel nutzen lassen:public static boolean not(boolean bval) {(Den kompletten Quelltext gibt es hier.)
return !bval;
}
public static Boolean not(Boolean bval) {
if (bval == null) {
return null;
}
else {
return !bval;
}
}
Nur: Muss man sich diese Methoden selber schreiben, oder gibt es dafür bereits fertige Bibliotheken? Im Netz habe ich leider nichts passendes gefunden.