Объект scala.None
объект None extends Option[Nothing] with Product with Serializable
Типовые члены
класс 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 зависит от платформы.
- возвращает
копию объекта-получателя.
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
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
предикат для проверки
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
предикат для проверки.
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
предикат для проверки.
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
функция для применения
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
функция для применения, если не пустое.
final def forall(p: (Nothing) ⇒ Boolean): Boolean
Возвращает true, если данный Option пустой или предикат p возвращает true при применении к значению данного scala.Option.
Эквивалентно:
option match {
case Some(x) => p(x)
case None => true
}
- p
предикат для проверки
final def foreach[U](f: (Nothing) ⇒ U): Unit
Применить заданную процедуру f к значению опции, если оно не пусто. В противном случае ничего не делать.
Это эквивалентно:
option match {
case Some(x) => f(x)
case None => ()
}
- f
процедура для применения.
def get: Nothing
Возвращает значение опции.
Это эквивалентно:
option match {
case Some(x) => x
case None => throw new Exception
}
final def getClass(): Class[_]
Возвращает представление класса объекта во время выполнения.
- возвращает
объект класса, соответствующий типу получателя во время выполнения.
final def getOrElse[B >: Nothing](default: ⇒ B): B
Возвращает значение опции, если опция непустая, в противном случае возвращает результат вычисления default.
Это эквивалентно:
option match {
case Some(x) => x
case None => default
}
- default
выражение по умолчанию.
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
}
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
альтернативное выражение.
final def orNull[A1 >: Nothing](implicit ev: <:<[Null, A1]): A1
Возвращает значение опции, если она не пуста, или null если она пуста.
Хотя использование null не рекомендуется, код, написанный для работы с scala.Option, часто должен взаимодействовать с кодом, ожидающим и возвращающим null.
Это эквивалентно:
option match {
case Some(x) => x
case None => null
}
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
выражение, которое нужно вычислить и вернуть, если это пусто
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
выражение, которое нужно вычислить и вернуть, если это пусто
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
final def withFilter(p: (Nothing) ⇒ Boolean): WithFilter
Необходима для предотвращения неявного преобразования scala.Option в scala.collection.Iterable в for пониманиях.
© 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
Этот объект-перечисление представляет несуществующие значения.
1.0