Bu koda sahibim:Başlatma ile başlatma arasındaki fark nedir?
MyClass object;
.... some code here where object may or may not be initialised...
if (object.getId > 0) {
....
}
Hangi bir derleme hatasıyla sonuçlanır: object
başlatılamadı, bu yeterince adil.
Şimdi kodumu şununla değiştirdim:
MyClass object;
.... some conditional code here where object may or may not be initialised...
if (object != null && object.getId > 0) {
....
}
Aynı derleme hatasını alıyorum! Xzx37'yi sıfırlamak zorundayım:
MyClass object = null;
Peki, bir nesneyi başlatmama ve null olarak sıfırlama arasındaki fark nedir? Başlatma olmadan bir nesneyi bildirirsem null değil mi?
Teşekkürler
bu benim sorum olsa da: "null" bir değer mi? Ben her zaman (belki de saf olarak) onu "değer değil" olarak kabul ettim, bu yüzden başlatılmaya eşdeğerdir. –
Bunun farkında değildi. Şimdi ben de bugün yeni bir şey öğrendim :) – Nailuj
@Richard: null kesinlikle bir değer. Herhangi bir nesneyi ifade etmeyen değerdir. "Kesinlikle atanmamış" ve "kesinlikle null değeriyle atanan" arasında bir fark var. –