Ik heb een object met de naam person
.
het heeft verschillende attributen;
int id;
String name;
ik stel een persoonsobject in zoals Person p = new Person(1,"Joe");
.
1.) Ik moet controleren of het object niet null is; Is de volgende uitdrukking correct;
if (person == null){
}
Or
if(person.equals(null))
2.) Ik moet weten of de ID een Int. bevat.
if(person.getId()==null){}
Maar java staat het niet toe. Hoe kan ik deze controle uitvoeren?
Antwoord 1, autoriteit 100%
Een int
is niet null, het kan 0
zijn als het niet is geïnitialiseerd.
Als je wilt dat een geheel getal null kan zijn, moet je Integer
gebruiken in plaats van int
.
Integer id;
String name;
public Integer getId() { return id; }
Behalve de verklaring if(person.equals(null))
kan niet waar zijn, want als person
null is, dan is een NullPointerException
zal worden gegooid. Dus de juiste uitdrukking is if (person == null)
Antwoord 2, autoriteit 25%
primitieven hebben geen null-waarde. standaard hebben voor een int is 0.
if(person.getId()==0){}
Standaardwaarden voor primitieven in Java:
Data Type Default Value (for fields)
byte 0
short 0
int 0
long 0L
float 0.0f
double 0.0d
char '\u0000'
boolean false
Objecten hebben null als standaardwaarde.
String (of een object) — & GT; NULL
1.) Ik moet controleren of het object niet null is; Is de volgende uitdrukking correct;
if (person == null){
}
Het bovenstaande stuk van de codecontroles als persoon null is. U moet
doen
if (person != null){ // checks if person is not null
}
en
if(person.equals(null))
De bovenstaande code zou nullpointerexceptie gooien wanneer de persoon null is.
Antwoord 3, Autoriteit 8%
Een primitieve int
kan niet nul zijn. Als u NULL nodig heeft, gebruikt u Integer
in plaats daarvan.
Antwoord 4
1.) Ik moet controleren of het object niet null is; Is de volgende uitdrukking correct;
if (persoon == null) {
}
ja . Dit is hoe u controleert of object null
is.
2.) Ik moet weten of de ID een int.
bevat
if (persoon.getid () == null) {}
Nee Sinds id
wordt gedefinieerd als primitief int
, het is standaard geïnitialiseerd met 0
en het zal nooit null
. Het is niet nodig om primitieve typen te controleren, als ze nul zijn. Ze zullen nooit nul zijn. Als u wilt, kunt u zich vergelijken met de standaardwaarde 0
als if(person.getId()==0){}
.
Antwoord 5
je hebt toegang tot je klasse-atributes.
Om er toegang toe te hebben, moet u doen:
person.id
person.name
waar
persoon
is een instantie van uw klas Persoon.
Dit kan worden gedaan als de attributen toegankelijk zijn, zo niet, dan moet u setters en getters gebruiken…
Antwoord 6
In Java zijn er geen Null-waarden voor primitieve gegevenstypen.
Als u Null moet controleren, gebruikt u Integer Class in plaats van het primitieve type. U hoeft zich geen zorgen te maken over het verschil in gegevenstype. Java converteert int primitieve typegegevens naar Integer.
Als je je zorgen maakt over het geheugen, neemt Integer meer geheugen in beslag dan int. Maar het verschil in geheugentoewijzing, niets om in overweging te nemen.
In dit geval moet u Inter gebruiken in plaats van int
Probeer het onderstaande fragment en bekijk het voorbeeld voor meer informatie,
Integer id;
String name;
//Refer this example
Integer val = 0;
`
if (val != null){
System.out.println("value is not null");
}
`
U kunt ook Null toewijzen zoals hieronder,
val = null;
Antwoord 7
U kunt
. gebruiken
if (person == null || String.valueOf(person.getId() == null))
naast de reguliere aanpak
person.getId() == 0