Sobes.tech
Junior

Ce operatori există în Null-safety?

sobes.tech AI

Răspuns de la AI

În Null Safety în Flutter, se folosesc următorii operatori legați de tipurile nullable:

  • ? (Semnul întrebării): Declară o variabilă ca fiind nullable.

    String? stringNullable; // Variabila poate conține String sau null
    
  • ! (Operatorul de exclamație / Assert non-null): Asigură compilatorului că valoarea nu este null în acel moment. Se folosește cu precauție, deoarece poate provoca o eroare la runtime dacă valoarea este null.

    String nonNullableString = stringNullable!; // Garantăm că stringNullable nu este null
    
  • ?? (Operatorul de coalescență null): Oferă o valoare de rezervă dacă partea stângă a expresiei este null.

    String result = stringNullable ?? "Valoare implicită"; // Dacă stringNullable este null, result va fi "Valoare implicită"
    
  • ??= (Operatorul de atribuire de coalescență null): Atribuie o valoare variabilei doar dacă aceasta este null.

    String? variable;
    variable ??= "Valoare inițială"; // Dacă variable este null, i se atribuie "Valoare inițială"
    
  • ?. (Operatorul de acces sigur): Permite accesul sigur la membrii unui obiect care poate fi null. Dacă obiectul este null, expresia returnează null.

    String? stringNullable;
    int? length = stringNullable?.length; // Dacă stringNullable este null, length va fi null
    
  • ?[] (Operatorul de indexare sigur): Permite accesul sigur la elementele unei liste sau ale unui Map care pot fi null. Dacă lista sau Map-ul este null, expresia returnează null.

    List<int>? nullableList;
    int? firstElement = nullableList?[0]; // Dacă nullableList este null, firstElement va fi null