2009-07-14 15 views
12

Sto cercando di creare un oggetto nullalble in Java, ma non sa come fare questo, in C# questo sarebbe stato fatto come questoCreazione di tipi nullables in Java

int? someTestInt; 

Questo mi permette di verificare la presenza di per nulla, mentre in certi casi posso usare un valore 0, questo non è sempre possibile poiché determinati percorsi di esecuzione consentono valori 0

+1

questo un duplicato di questa domanda http://stackoverflow.com/questions/985151 – hhafez

risposta

27

Non sono del tutto sicuro di quello che vuoi, ma se vuoi avere un valore intero che può anche essere dichiarato null, probabilmente si desidera utilizzare la classe Integer:

Integer nullableInteger = 1; 
nullableInteger = null; 
System.out.println(nullableInteger); // "null" 

ci sono corrispondenti classi per ciascuna primitiva: Character, Long, Double, Byte, ecc classi numerici Il 'libreria standard' tutte estendono la classe Number.

Nota che Java autoboxes questi oggetti automaticamente dal JDK 1.5, in modo da poter utilizzare e dichiarare loro proprio come i primitivi (non è necessario per esempio "new Integer(1)"). Quindi, anche se sono tecnicamente oggetti (e, quindi, estendono la classe Object, che non è il tipo primitivo int), con essi puoi fare aritmetica di base. Vengono convertiti in operazioni oggetto in fase di compilazione.

+0

Oh, fantastico ... si otterrà tutto il credito, perché hai deciso di andare tutto fuori con codice di esempio e tutto ...;) Ti darò +1 comunque. – mkmurray

+1

In occidente, si paga per essere veloce con il sorteggio :) –

+0

Non ho bisogno di usare il tipo nullable solo per i numeri interi, useremo le classi corrispondenti invece dei primitivi, grazie per le informazioni – RC1140

1

Forse prova il tipo Integer in Java.