Sobes.tech
Intern

Šta je null referenca?

sobes.tech АИ

Одговор од АИ

Null je vrednost koja ukazuje na odsustvo objekta. Ne referiše ni na kakav pravi primerak klase.

U različitim programskim jezicima, null može imati različite prikaze:

  • Java/C#: null
  • Python: None
  • JavaScript: null i undefined (sa nijansama)
  • C++: nullptr (od C++11 nadalje) ili NULL (pre C++11, u suštini 0)

Korišćenje null referenci može dovesti do grešaka u izvršenju poput "NullPointerException" (ili sličnih), ako se pokuša pristupiti članu objekta putem null reference. Ovo je jedna od najčešćih grešaka u razvoju.

Primer u Javi:

// Deklaracija promenljive sa null referencom
String myString = null;

// Pokušaj poziva metode na null referenci će izazvati NullPointerException
// int length = myString.length();

Primer u Pythonu:

# Deklaracija promenljive sa None
my_list = None

# Pokušaj pristupa metodu ili elementu će izazvati AttributeError ili TypeError
# print(my_list[0])

Obrada null referenci je važan deo razvoja i testiranja. Koriste se različiti obrasci i tehnike za minimiziranje rizika, kao što su:

  • Provera na null (if (obj != null))
  • Korišćenje Optional (u Javi 8+, C++17+)
  • Korišćenje anotacija (@Nullable, @NonNull)
  • Korišćenje sigurnih operatora pristupa (?. u C#)