Spec-Zone.ru › Scala 2.12 Library

Объект scala.None

объект None extends Option[Nothing] with Product with Serializable

Этот объект-перечисление представляет несуществующие значения.

Аннотации
@SerialVersionUID()
Источник
Option.scala
С

1.0

Линейные надтипы

Типовые члены

класс WithFilter extends AnyRef

Нам нужен целый класс WithFilter, чтобы соблюсти контракт «не создает новую коллекцию», хотя, похоже, это мало что изменит в коллекции с максимальным размером 1.

Определяющие классы
Option

Члены-значения

final def !=(arg0: Any): Boolean

Проверка двух объектов на неравенство.

возвращает

true если !(this == that), в противном случае false.

Определяющие классы
AnyRef → Any

final def ##(): Int

Эквивалентно x.hashCode за исключением упакованных числовых типов и null. Для числовых значений возвращает хэш-значение, согласованное с равенством значений: если два экземпляра типа значения сравниваются как true, то ## вернёт одинаковое хэш-значение для каждого из них. Для null возвращает хэш-код, где null.hashCode выбрасывает NullPointerException.

возвращает

хэш-значение, согласованное с ==

Определяющие классы
AnyRef → Any

final def ==(arg0: Any): Boolean

Выражение x == that эквивалентно if (x eq null) that eq null else x.equals(that).

возвращает

true если объект-получатель эквивалентен аргументу; false в противном случае.

Определяющие классы
AnyRef → Any

final def asInstanceOf[T0]: T0

Преобразование объекта-получателя к типу T0.

Обратите внимание, что успешность преобразования во время выполнения зависит от семантики стирания Scala. Поэтому выражение 1.asInstanceOf[String] выбросит ClassCastException во время выполнения, а выражение List(1).asInstanceOf[List[String]] — нет. В последнем примере, так как аргумент типа стирается во время компиляции, невозможно проверить, соответствуют ли элементы списка требуемому типу.

возвращает

объект-получатель.

Определяющие классы
Any
Исключения

ClassCastException если объект-получатель не является экземпляром стирания типа T0.

def clone(): AnyRef

Создаёт копию объекта-получателя.

По умолчанию реализация метода clone зависит от платформы.

возвращает

копию объекта-получателя.

Атрибуты
protected[lang]
Определяющие классы
AnyRef
Аннотации
@throws( ... ) @native()
Примечание

не определён SLS в качестве члена AnyRef

final def collect[B](pf: PartialFunction[Nothing, B]): Option[B]

Возвращает scala.Some, содержащую результат применения pf к значению, содержащемуся в этом scala.Option, если этот вариант не пустой и pf определено для этого значения. В противном случае возвращает None.

pf

частичная функция.

возвращает

результат применения pf к значению этого scala.Option (если возможно), или None.

Определяющие классы
Option
Аннотации
@inline()
Пример:
    // Returns Some(HTTP) because the partial function covers the case.
    Some("http") collect {case "http" => "HTTP"}
    
    // Returns None because the partial function doesn't cover the case.
    Some("ftp") collect {case "http" => "HTTP"}
    
    // Returns None because the option is empty. There is no value to pass to the partial function.
    None collect {case value => value}

final def contains[A1 >: Nothing](elem: A1): Boolean

Проверяет, содержит ли опция данное значение в качестве элемента.

Эквивалентно:

option match {
  case Some(x) => x == elem
  case None    => false
}
elem

тестируемый элемент.

возвращает

true если у опции есть элемент, равный (как определяется ==) elem, false в противном случае.

Определяющие классы
Option
Пример:
    // Returns true because Some instance contains string "something" which equals "something".
    Some("something") contains "something"
    
    // Returns false because "something" != "anything".
    Some("something") contains "anything"
    
    // Returns false when method called on None.
    None contains "anything"

final def eq(arg0: AnyRef): Boolean

Проверяет, является ли аргумент (that) ссылкой на объект-получатель (this).

Метод eq реализует отношение эквивалентности на не-null экземплярах AnyRef, и имеет три дополнительных свойства:

    Он согласован: для любых не-null экземпляров x и y типа AnyRef, многократные вызовы x.eq(y) последовательно возвращают true или последовательно возвращают false.Для любого не-null экземпляра x типа AnyRef, x.eq(null) и null.eq(x) возвращают false. null.eq(null) возвращает true.

При переопределении методов equals или hashCode важно обеспечить согласованность их поведения с равенством ссылок. Поэтому, если два объекта являются ссылками друг на друга (o1 eq o2), они должны быть равны друг другу (o1 == o2) и они должны иметь одинаковое хэш-значение (o1.hashCode == o2.hashCode).

возвращает

true если аргумент является ссылкой на объект-получатель; false в противном случае.

Определяющие классы
AnyRef

def equals(arg0: Any): Boolean

Метод равенства для ссылочных типов. Реализация по умолчанию делегирует eq.

См. также equals в scala.Any.

возвращает

true если объект-получатель эквивалентен аргументу; false в противном случае.

Определяющие классы
AnyRef → Any

final def exists(p: (Nothing) ⇒ Boolean): Boolean

Возвращает true, если данное значение типа Option непустое и предикат p возвращает true, когда применяется к значению данного scala.Option. В противном случае возвращает false.

Эквивалентно:

option match {
  case Some(x) => p(x)
  case None    => false
}
p

предикат для проверки

Definition Classes
Option
Annotations
@inline()

final def filter(p: (Nothing) ⇒ Boolean): Option[Nothing]

Возвращает данное значение типа scala.Option, если оно непустое и применение предиката p к значению данного scala.Option возвращает true. В противном случае возвращает None.

Эквивалентно:

option match {
  case Some(x) if p(x) => Some(x)
  case _               => None
}
p

предикат для проверки.

Definition Classes
Option
Annotations
@inline()

final def filterNot(p: (Nothing) ⇒ Boolean): Option[Nothing]

Возвращает данное значение типа scala.Option, если оно непустое и применение предиката p к значению данного scala.Option возвращает false. В противном случае возвращает None.

Эквивалентно:

option match {
  case Some(x) if !p(x) => Some(x)
  case _                => None
}
p

предикат для проверки.

Definition Classes
Option
Annotations
@inline()

def finalize(): Unit

Вызывается сборщиком мусора для объекта-получателя, когда на объект больше нет ссылок.

Подробности о том, когда и будет ли вызываться метод finalize, а также взаимодействие между finalize и нелокальными возвратами и исключениями зависят от платформы.

Attributes
protected[lang]
Definition Classes
AnyRef
Annotations
@throws( classOf[java.lang.Throwable] )
Примечание

не указано SLS как член AnyRef

final def flatMap[B](f: (Nothing) ⇒ Option[B]): Option[B]

Возвращает результат применения f к значению этого scala.Option, если этот scala.Option не пустой. Возвращает None, если этот scala.Option пустой. Незначительно отличается от map, так как ожидается, что f вернёт scala.Option (который может быть None).

Эквивалентно:

option match {
  case Some(x) => f(x)
  case None    => None
}
f

функция для применения

Definition Classes
Option
Annotations
@inline()
См. также

map

foreach

def flatten[B](implicit ev: <:<[Nothing, Option[B]]): Option[B]

Definition Classes
Option

final def fold[B](ifEmpty: ⇒ B)(f: (Nothing) ⇒ B): B

Возвращает результат применения f к значению этого scala.Option, если scala.Option не пустой. В противном случае вычисляет выражение ifEmpty.

Эквивалентно:

option match {
  case Some(x) => f(x)
  case None    => ifEmpty
}

Также эквивалентно:

option map f getOrElse ifEmpty
ifEmpty

выражение для вычисления, если пустое.

f

функция для применения, если не пустое.

Definition Classes
Option
Annotations
@inline()

final def forall(p: (Nothing) ⇒ Boolean): Boolean

Возвращает true, если данный Option пустой или предикат p возвращает true при применении к значению данного scala.Option.

Эквивалентно:

option match {
  case Some(x) => p(x)
  case None    => true
}
p

предикат для проверки

Definition Classes
Option
Annotations
@inline()

final def foreach[U](f: (Nothing) ⇒ U): Unit

Применить заданную процедуру f к значению опции, если оно не пусто. В противном случае ничего не делать.

Это эквивалентно:

option match {
  case Some(x) => f(x)
  case None    => ()
}
f

процедура для применения.

Классы-определения
Option
Аннотации
@inline()
См. также

map

flatMap

def get: Nothing

Возвращает значение опции.

Это эквивалентно:

option match {
  case Some(x) => x
  case None    => throw new Exception
}
Классы-определения
None → Option
Исключения

java.util.NoSuchElementException, если опция пустая.

Примечание

Опция должна быть непустой.

final def getClass(): Class[_]

Возвращает представление класса объекта во время выполнения.

возвращает

объект класса, соответствующий типу получателя во время выполнения.

Классы-определения
AnyRef → Any
Аннотации
@native()

final def getOrElse[B >: Nothing](default: ⇒ B): B

Возвращает значение опции, если опция непустая, в противном случае возвращает результат вычисления default.

Это эквивалентно:

option match {
  case Some(x) => x
  case None    => default
}
default

выражение по умолчанию.

Классы-определения
Option
Аннотации
@inline()

def isDefined: Boolean

Возвращает true, если опция является экземпляром scala.Some, иначе false.

Это эквивалентно:

option match {
  case Some(_) => true
  case None    => false
}
Классы-определения
Option

def isEmpty: Boolean

Возвращает true, если опция None, иначе false.

Это эквивалентно:

option match {
  case Some(_) => false
  case None    => true
}
Классы-определения
None → Option

final def isInstanceOf[T0]: Boolean

Проверяет, является ли динамический тип объекта-получателя T0.

Обратите внимание, что результат проверки зависит от стирания типов в Scala. Поэтому выражение 1.isInstanceOf[String] вернет false, а выражение List(1).isInstanceOf[List[String]] вернет true. В последнем примере, так как аргумент типа стирается во время компиляции, невозможно проверить, соответствуют ли элементы списка указанному типу.

возвращает

true если объект-получатель является экземпляром стирания типа T0; false в противном случае.

Классы-определения
Any

def iterator: Iterator[Nothing]

Возвращает одиночный итератор, возвращающий значение scala.Option, если оно непусто, или пустой итератор, если опция пустая.

Классы-определения
Option

final def map[B](f: (Nothing) ⇒ B): Option[B]

Возвращает scala.Some содержащий результат применения f к значению этой scala.Option, если эта scala.Option непуста. В противном случае возвращает None.

Это эквивалентно:

option match {
  case Some(x) => Some(f(x))
  case None    => None
}
f

функция для применения

Классы-определения
Option
Аннотации
@inline()
Примечание

Это аналогично flatMap за исключением того, что f не нужно заключать свой результат в scala.Option.

См. также

flatMap

foreach

final def ne(arg0: AnyRef): Boolean

Эквивалентно !(this eq that).

возвращает

true если аргумент не является ссылкой на объект-получатель; false в противном случае.

Классы-определения
AnyRef

final def nonEmpty: Boolean

Возвращает false, если опция None, иначе true.

Это эквивалентно:

option match {
  case Some(_) => true
  case None    => false
}
Классы-определения
Option
Примечание

Реализовано здесь, чтобы избежать неявного преобразования в Iterable.

final def notify(): Unit

Разбудит единственную нить, ожидающую монитора объекта-получателя.

Классы-определения
AnyRef
Аннотации
@native()
Примечание

не указано SLS как член AnyRef

final def notifyAll(): Unit

Разбуживает все потоки, ожидающие монитора объекта-получателя.

Definition Classes
AnyRef
Annotations
@native()
Note

не указано SLS как член AnyRef

final def orElse[B >: Nothing](alternative: ⇒ Option[B]): Option[B]

Возвращает этот scala.Option, если он не пуст, иначе возвращает результат вычисления alternative.

Это эквивалентно:

option match {
  case Some(x) => Some(x)
  case None    => alternative
}
alternative

альтернативное выражение.

Definition Classes
Option
Annotations
@inline()

final def orNull[A1 >: Nothing](implicit ev: <:<[Null, A1]): A1

Возвращает значение опции, если она не пуста, или null если она пуста.

Хотя использование null не рекомендуется, код, написанный для работы с scala.Option, часто должен взаимодействовать с кодом, ожидающим и возвращающим null.

Это эквивалентно:

option match {
  case Some(x) => x
  case None    => null
}
Definition Classes
Option
Annotations
@inline()
Пример:
    val initialText: Option[String] = getInitialText
    val textField = new JComponent(initialText.orNull,20)

final def synchronized[T0](arg0: ⇒ T0): T0

Definition Classes
AnyRef

final def toLeft[X](right: ⇒ X): Either[Nothing, X]

Возвращает scala.util.Right содержащий переданный аргумент right, если этот пустой, или scala.util.Left содержащий значение этого scala.Option, если этот scala.Option не пустой.

Это эквивалентно:

option match {
  case Some(x) => Left(x)
  case None    => Right(right)
}
right

выражение, которое нужно вычислить и вернуть, если это пусто

Definition Classes
Option
Annotations
@inline()
См. также

toRight

def toList: List[Nothing]

Возвращает одноэлементный список, содержащий значение scala.Option, если он не пустой, или пустой список, если scala.Option пустой.

Это эквивалентно:

option match {
  case Some(x) => List(x)
  case None    => Nil
}
Definition Classes
Option

final def toRight[X](left: ⇒ X): Either[X, Nothing]

Возвращает scala.util.Left содержащий переданный аргумент left, если этот scala.Option пустой, или scala.util.Right содержащий значение этого scala.Option, если он не пустой.

Это эквивалентно:

option match {
  case Some(x) => Right(x)
  case None    => Left(left)
}
left

выражение, которое нужно вычислить и вернуть, если это пусто

Definition Classes
Option
Annotations
@inline()
См. также

toLeft

final def wait(): Unit

Definition Classes
AnyRef
Annotations
@throws( ... )

final def wait(arg0: Long, arg1: Int): Unit

Definition Classes
AnyRef
Annotations
@throws( ... )

final def wait(arg0: Long): Unit

Definition Classes
AnyRef
Annotations
@throws( ... ) @native()

final def withFilter(p: (Nothing) ⇒ Boolean): WithFilter

Необходима для предотвращения неявного преобразования scala.Option в scala.collection.Iterable в for пониманиях.

Definition Classes
Option
Annotations
@inline()

© 2002-2019 EPFL, with contributions from Lightbend.
Licensed under the Apache License, Version 2.0.
https://www.scala-lang.org/api/2.12.9/scala/None$.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API