Sono consapevole che è preferibile chiamare il metodo equals
per l'utilizzo dell'operatore ==
(vedere this question). Voglio che due stringhe vengano confrontate come uguali se sono entrambe nulle o se rappresentano la stessa stringa. Sfortunatamente il metodo equals
getterà uno NPE
se le stringhe sono null
. Il mio codice è attualmente:Come confrontare due stringhe quando entrambe possono essere nulle?
boolean equals(String s1, String s2) {
if (s1 == null && s2 == null) {
return true;
}
if (s1 == null || s2 == null) {
return false;
}
return s1.equals(s2);
}
Questo è inelegante. Qual è il modo corretto per eseguire questo test?
Com'è inelegante? Quale altro modo per determinare? –
Usa 'StringUtils.equals (s1, s2)' in commons.lang – thoitbk
@fge Non ho mai capito perché le persone postano le risposte come commenti. Mi piacerebbe sapere però, interessa condividere il tuo ragionamento? – Pureferret