Ich habe ein Objekt namens Person
.
es hat mehrere Attribute;
int id;
String name;
Ich setze ein Personenobjekt wie Person p = new Person(1,"Joe");
.
1.) Ich muss überprüfen, ob das Objekt nicht null ist. Ist der folgende Ausdruck korrekt?
if (person == null){
}
Or
if(person.equals(null))
2.) Ich muss wissen, ob die ID ein Int enthält.
if(person.getId()==null){}
Aber Java erlaubt es nicht. Wie kann ich diese Prüfung durchführen?
int
ist0
?0
stattdessen die Prüfung mit durchführen . Wenn Sie die Nullprüfung durchführen möchten. Verwenden Sie dazu den Integer-Wrapper.Antworten:
An
int
ist nicht null, es kann sein,0
wenn es nicht initialisiert wird.Wenn Sie möchten, dass eine Ganzzahl null sein kann, müssen Sie
Integer
stattdessen verwendenint
.Außerdem kann die Aussage
if(person.equals(null))
nicht wahr sein, denn wennperson
null ist,NullPointerException
wird ein geworfen. Der richtige Ausdruck ist alsoif (person == null)
quelle
Grundelemente haben keinen Nullwert. Standardmäßig ist für ein int 0.
Standardwerte für Grundelemente in Java:
Objekte haben den Standardwert null.
String (oder ein beliebiges Objekt) ---> null
Der obige Code prüft, ob die Person null ist. du musst tun
und
Der obige Code würde eine NullPointerException auslösen, wenn die Person null ist.
quelle
Ein Grundelement
int
kann nicht null sein. Wenn Sie null benötigen, verwenden SieInteger
stattdessen.quelle
JA . So überprüfen Sie, ob es sich um ein Objekt handelt
null
.NEIN Da
id
als primitiv definiert istint
, wird es standardmäßig mit initialisiert0
und wird es niemals seinnull
. Es ist nicht erforderlich, primitive Typen zu überprüfen, wenn sie null sind. Sie werden niemals null sein. Wenn Sie möchten, können Sie mit dem Standardwert0
als vergleichenif(person.getId()==0){}
.quelle
Sie müssen auf Ihre Klassenattribute zugreifen.
Um darauf zugreifen zu können, müssen Sie Folgendes tun:
wo
ist eine Instanz Ihrer Klasse Person.
Dies kann erfolgen, wenn auf die Attribute zugegriffen werden kann. Wenn nicht, müssen Sie Setter und Getter verwenden ...
quelle
Sie können verwenden
zusätzlich zum regulären Ansatz
quelle
In Java gibt es keine Nullwerte für primitive Datentypen. Wenn Sie Null aktivieren müssen, verwenden Sie die Integer-Klasse anstelle des primitiven Typs. Sie müssen sich keine Gedanken über Datentypunterschiede machen. Java konvertiert int primitive Typdaten in Integer. Wenn es um den Speicher geht, benötigt Integer mehr Speicher als int. Aber der Unterschied der Speicherzuordnung ist nicht zu berücksichtigen.
In diesem Fall müssen Sie Inter anstelle von int verwenden
Probieren Sie das folgende Snippet aus und sehen Sie sich das Beispiel für weitere Informationen an.
`
`
Sie können auch Null wie folgt zuweisen:
quelle