Molti degli strumenti di controllo del codice sorgente standard (PMD, FindBugs, Checkstyles) implementano una regola "String Equality", dove l'uso di ==
(o !=
) durante il confronto le stringhe possono essere rilevate e segnalate come errori.Controllo dei file Java per == Errore, non limitato alle stringhe
Sto cercando di scrivere (o configurare!) Una regola simile che funziona su un insieme di altri tipi di oggetto nella mia API.
//Want to detect things like:
Instance a = ...;
Instance b = ...;
if (a == b) //Error here, not using a.equals(b)
Guardando PMD & FindBugs non esiste un modo ovvio (o facile) per fare questo, qualcuno ha incontrato qualcosa di simile?
Cheers, Ro
Vale la pena notare che l'uso di == con gli oggetti può essere una cosa ragionevole da fare. Quando vuoi sapere se è letteralmente lo stesso oggetto a cui ci si riferisce, non solo quello che sembra lo stesso –