Tengo un objeto llamado Person.
tiene varios atributos en él;
int id;
String name;
puse un objeto de persona como Person p = new Person(1,"Joe");.
1.) Necesito comprobar si el objeto no es nulo; ¿Es correcta la siguiente expresión?
if (person == null){
}
Or
if(person.equals(null))
2.) Necesito saber si el ID contiene un Int.
if(person.getId()==null){}
Pero java no lo permite. ¿Cómo puedo hacer esta verificación?

intes0?0. Si desea hacer la verificación nula. Use la envoltura Integer para eso.Respuestas:
An
intno es nulo, puede ser0si no se inicializa.Si desea que un entero pueda ser nulo, debe usar en
Integerlugar deint.Además, la declaración
if(person.equals(null))no puede ser verdadera, porque sipersones nula, seNullPointerExceptionlanzará a. Entonces la expresión correcta esif (person == null)fuente
las primitivas no tienen valor nulo. el valor predeterminado para un int es 0.
Valores predeterminados para primitivas en java:
Los objetos tienen nulo como valor predeterminado.
Cadena (o cualquier objeto) ---> nulo
la pieza de código anterior verifica si la persona es nula. necesitas hacer
y
El código anterior arrojaría NullPointerException cuando la persona es nula.
fuente
Un primitivo
intno puede ser nulo. Si necesita null, utiliceIntegeren su lugar.fuente
SI . Así es como verificas si el objeto es
null.NO Dado que
idse define como primitivoint, se inicializará por defecto con0y nunca lo seránull. No es necesario comprobar los tipos primitivos, si son nulos. Nunca serán nulos. Si lo desea, puede comparar con el valor predeterminado0comoif(person.getId()==0){}.fuente
Tienes que acceder a los atributos de tu clase.
Para acceder a sus atributos, debe hacer:
dónde
es una instancia de tu clase Person.
Esto se puede hacer si se puede acceder a los atributos, si no, debe usar setters y getters ...
fuente
Puedes usar
además del enfoque regular
fuente
En Java no hay valores nulos para tipos de datos primitivos. Si necesita marcar Null, use Integer Class en lugar de primitive type. No necesita preocuparse por la diferencia de tipos de datos. Java convierte datos de tipo primitivo int a Integer. Cuando se trata de la memoria, Integer ocupa más memoria que int. Pero la diferencia de asignación de memoria, nada que considerar.
En este caso debes usar Inter en lugar de int
Pruebe el siguiente fragmento y vea el ejemplo para obtener más información,
'
'
También puede asignar Null como se muestra a continuación,
fuente