Quando leggo il codice sorgente JDK, trovo comune che l'autore controllerà i parametri se sono nulli e quindi lancia manualmente il nuovo NullPointerException (). Perché lo fanno? Penso che non sia necessario farlo poiché genererà nuovo NullPointerException () quando chiama un metodo. (Ecco un codice sorgente di HashMap, ad esempio …
Ho un elenco di oggetti dire car. Voglio filtrare questo elenco in base ad alcuni parametri usando Java 8. Ma se il parametro è null, genera NullPointerException. Come filtrare i valori null? Il codice corrente è il seguente requiredCars = cars.stream().filter(c -> c.getName().startsWith("M")); Questo genera NullPointerExceptionse getName()ritorna null.
Vedo che @Nullablee le @Nonnullannotazioni potrebbero essere utili per prevenire NullPointerExceptions ma non si propagano molto lontano. L'efficacia di queste annotazioni diminuisce completamente dopo un livello di riferimento indiretto, quindi se ne aggiungi solo alcune non si propagano molto lontano. Poiché queste annotazioni non vengono applicate correttamente, esiste il pericolo …
Perché questo lancio NullPointerException public static void main(String[] args) throws Exception { Boolean b = true ? returnsNull() : false; // NPE on this line. System.out.println(b); } public static Boolean returnsNull() { return null; } mentre questo non lo fa public static void main(String[] args) throws Exception { Boolean b …
secondo la documentazione, il metodo String.valueOf(Object obj)restituisce: se l'argomento è null, allora una stringa uguale a "null"; in caso contrario, obj.toString()viene restituito il valore di . Ma come mai quando provo a fare questo: System.out.println("String.valueOf(null) = " + String.valueOf(null)); lancia NPE invece? (provalo tu stesso se non ci credi!) Eccezione …
Un servizio web restituisce un enorme XML e ho bisogno di accedere a campi profondamente nidificati. Per esempio: return wsObject.getFoo().getBar().getBaz().getInt() Il problema è che getFoo(), getBar(), getBaz()può tutto il ritorno null. Tuttavia, se controllo nullin tutti i casi, il codice diventa molto dettagliato e difficile da leggere. Inoltre, potrei perdere …
Voglio usare l' @Nullable annotazione per eliminare NullPointerExceptions. Ho trovato alcuni tutorial in rete, ho notato che questa annotazione proviene dal pacchetto javax.annotation.Nullable; ma quando lo importa viene generato un errore di compilazione: impossibile trovare il simbolo
Questa è una domanda canonica per un problema pubblicato di frequente su StackOverflow. Sto seguendo un tutorial. Ho creato una nuova attività utilizzando una procedura guidata. Ottengo NullPointerExceptionquando tento di chiamare un metodo su Views ottenuto con findViewById()nella mia attività onCreate(). Attività onCreate(): @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); …
Il codice seguente genera NullPointerException: int num = Integer.getInteger("123"); Il mio compilatore invoca getIntegersu null poiché è statico? Non ha alcun senso! Cosa sta succedendo?
Tentando di lavorare su un progetto Android su cui non ho lavorato per un paio di mesi, eppure ogni volta che tento di costruire il progetto, Eclipse lancia una finestra di dialogo che dice: 'Building workspace' has encountered a problem Errors occurred during the build. Errors running builder 'Android Pre …
Perché Double.parseDouble (null) e Integer.parseInt (null) generano eccezioni diverse? Si tratta di un incidente storico o intenzionale? La documentazione indica chiaramente due tipi di eccezioni per Double.parseDouble(...)e una per Integer.parseInt(), ma sembra incoerente: Integer.parseInt(null); // throws java.lang.NumberFormatException: null però Double.parseDouble(null); // throws java.lang.NullPointerException
Nead chiarimento per il seguente codice: StringBuilder sample = new StringBuilder(); StringBuilder referToSample = sample; referToSample.append("B"); System.out.println(sample); Questo verrà stampato in Bmodo che le prove samplee gli referToSampleoggetti facciano riferimento allo stesso riferimento di memoria. StringBuilder sample = new StringBuilder(); StringBuilder referToSample = sample; sample.append("A"); referToSample.append("B"); System.out.println(referToSample); Questo verrà stampato …
Qualche giorno fa, mi sono imbattuto in uno scenario affascinante che non riuscivo a trovare alcuna documentazione su come o perché Java permettesse quanto segue. (Questo frammento è solo una forma semplificata del bug.) @Test public void test() { boolean bool = false; Integer intVal = Integer.valueOf(5); Long longVal = …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.