Pracuję w Javie.
Często ustawiam niektóre obiekty jako takie:
public class Foo {
private SomeObject someName;
// do stuff
public void someMethod() {
if (this.someName != null) {
// do some stuff
}
}
}
Pytanie brzmi: czy someName
w tym przykładzie jest to równoznaczne z tym null
, że mogę reliably for all objects
założyć, że niezainicjowane obiekty sprawdzające wartość null będą dokładne?
źródło
char
? Mogę to zrobić,char test;
ale niechar test = null;
null
do,char
ponieważ jest to typ pierwotny. Nie można również wykonaćchar test;
wewnątrz metody beztest
późniejszego przypisania . Możesz to zrobić,char test='a'
jeśli chcesz, lub pozostawić to tak, jakchar test;
w deklaracji członka, aby uzyskać domyślną wartość'\0'
.Jeśli
Object
odwołanie zostało zadeklarowane, ale nie zostało utworzone , jego wartością jestnull
.źródło
null
tak, aby polubiły pole instancji?namespace Design { class Program { static void Main(string[] args) { Logger obj1; // By Default, the value of obj1 is null Logger obj2 = new Logger(); // By Default the value of obj2 is // Design.Logger which is not null Console.WriteLine(obj2); Console.Read(); } } class Logger { public Logger() { Console.writeline("Called"); } } }
źródło