Questo è il codice che ho:Perché IntelliJ mi sta dicendo che il riferimento non può essere nullo in questa situazione?
private void foo(Bar bar) {
Session session = null;
Class entityClazz = null;
try {
entityClazz = Hibernate.getClass(bar);
if (bar != null) {
E IntelliJ mi mettere in guardia per l'ultima dichiarazione di cui sopra con il messaggio:
Condizione 'bar! = Null' è sempre 'vero'. Questa ispezione analizza il controllo del metodo e il flusso di dati per riportare possibili condizioni che sono sempre vere o false, espressioni il cui valore è statico dimostrato di essere costante e situazioni che possono portare a violazioni del contratto di nullità .
Quando si elimina la dichiarazione:
entityClazz = Hibernate.getClass(bar);
l'avviso sarà andato.
Che cosa sta succedendo nella mente di IntelliJ qui, cosa si sta fermando dal fatto che la barra è nulla?
immagino, perché 'Hibernate.getClass (bar)' lancerà una NullPointerException se 'bar' è nullo e quindi la' se 'non sarà mai raggiunto in quel caso. –
@a_horse_with_no_name Non ho visto alcun NPE gettato nel codice ma forse l'ho perso .. –
Controlla se 'Hibernate.getClass' ha un' @ NotNull' sul suo parametro. –