Sobes.tech
Junior

Jakie operatory istnieją w Null-safety?

sobes.tech AI

Odpowiedź od AI

W Flutterze Null Safety używa się następujących operatorów związanych z typami nullable:

  • ? (Znak zapytania): Deklaruje zmienną jako nullable.

    String? nullableString; // Zmienna może zawierać String lub null
    
  • ! (Operator wykrzyknika / Non-null assertion): Gwarantuje kompilatorowi, że wartość nie jest null w tym momencie. Należy używać ostrożnie, ponieważ może spowodować błąd w czasie wykonywania, jeśli wartość będzie null.

    String nonNullableString = nullableString!; // Gwarantujemy, że nullableString nie jest null
    
  • ?? (Operator łączenia null): Zapewnia wartość zapasową, jeśli lewa strona wyrażenia jest null.

    String result = nullableString ?? "Wartość domyślna"; // Jeśli nullableString jest null, result będzie "Wartość domyślna"
    
  • ??= (Operator przypisania łączenia null): Przypisuje wartość do zmiennej tylko wtedy, gdy jest ona null.

    String? variable;
    variable ??= "Wartość początkowa"; // Jeśli variable jest null, przypisuje się "Wartość początkowa"
    
  • ?. (Operator bezpiecznego dostępu): Pozwala bezpiecznie uzyskać dostęp do członków obiektu, który może być null. Jeśli obiekt jest null, wyrażenie zwraca null.

    String? nullableString;
    int? length = nullableString?.length; // Jeśli nullableString jest null, length będzie null
    
  • ?[] (Operator bezpiecznego indeksowania): Pozwala bezpiecznie uzyskać dostęp do elementów listy lub mapy, które mogą być null. Jeśli lista lub mapa jest null, wyrażenie zwraca null.

    List<int>? nullableList;
    int? firstElement = nullableList?[0]; // Jeśli nullableList jest null, firstElement będzie null