Sobes.tech
Intern

Šta su null reference?

sobes.tech АИ

Одговор од АИ

Null referenca je posebna vrednost koja ukazuje na odsustvo objekta na koji se referenca odnosi. U većini objektno-orijentisanih programskih jezika, ova vrednost se koristi za označavanje da referentna promenljiva nije povezana ni sa kakvim konkretnim primerkom klase. Null reference su čest izvor grešaka (null pointer exceptions / null reference exceptions), kada se pokušava pristupiti članovima ili metodama objekta putem null reference.

Primeri u različitim jezicima:

// Java
String str = null; // Deklaracija null reference
// str.length(); // Dovodi do NullPointerException

// C#
string name = null; // Deklaracija null reference
// name.Length; // Dovodi do NullReferenceException
# Python
data = None # U Pythonu, slično null referenci, koristi se None
# data.upper() # Dovodi do AttributeError

Da bi se sprečile greške povezane sa null referencama, koriste se razni obrasci i tehnike, na primer:

  • Provera na null: Ekslicitna provera pre korišćenja reference.
  • Null Object Pattern: Korišćenje posebnog objekta koji pruža "prazno" ponašanje umesto null.
  • Opcionalni / Maybe tipovi: Tipovi koji eksplicitno ukazuju da vrednost može biti odsutna (npr. Optional u Javi ili Maybe u Haskellu).
  • Atributi: Korišćenje anotacija za označavanje da li referenca može biti null (@Nullable, @NonNull).