Skip to content
dolph1n edited this page Feb 15, 2013 · 3 revisions

Nullable - языковое расширение, которое поможет обезопасить код от null pointer ошибок.

Обычно, для того чтобы защитить код от null pointer ошибок, используют проверку на null. Использование Nullable позволит сделать тоже самое в более компактной форме.

После импорта языкового расширения nullable Вам будут доступны следующие операторы:

  • .? Null-Safe оператор;
  • ?: Elvis оператор.

##Синтаксис

.? Null-Safe оператор

Оператор позволяет обезопасить обращение к возвращаемому значению метода. Код без использования Null-Safe оператора:

var sprite : DisplayObject = getChildByName("mySprite"); 
if (sprite != null) {
  trace sprite.name;
}

При использовании Null-Safe оператора такой код будет выглядеть так:

trace getChildByName("mySprite").?name;

Для добавления/удаления Null-Safe оператора Вы можете воспользоваться "Intentions"(alt+enter) Convert to Nullable/Convert to Dot Expression.

?: Elvis оператор

Оператор позволяет указать значение, отличное от null.

public function getValue() : String { 
  return nullMethod() ?: "not-null-string"; 
}
public function nullMethod() : String { 
  return null;
}

В отличие от оператора "||", Elvis оператор производит проверку на null, не пытаясь приводить выражение к Boolean.

Clone this wiki locally