2011-11-30 7 views
7

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

+0

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 –

risposta

2

non CompareObjectsWithEquals in PMD funziona per voi?

+0

Non esattamente, quello troppo ... Ho bisogno di configurare la regola per considerare solo alcune Classi. Grazie !, è un ottimo punto di partenza. –

Problemi correlati