Объект scala.None
объект None extends Option[Nothing] with Product with Serializable
Члены типа
классWithFilter extends AnyRef
Нам нужен целый класс WithFilter, чтобы соблюсти контракт «не создает новую коллекцию», хотя маловероятно, что это будет существенно важно в коллекции с максимальным размером 1.
- Определяющие классы
- Option
Члены-значения
final def !=(arg0: Any): Boolean
Проверка двух объектов на неравенство.
- returns
trueесли !(this == that), в противном случае false.
- Definition Classes
- AnyRef → Any
final def ##(): Int
Эквивалентно x.hashCode за исключением упакованных числовых типов и null. Для числовых значений возвращает значение хэша, которое соответствует равенству значений: если два экземпляра типа значения сравниваются как true, то ## будет генерировать одинаковое значение хэша для каждого из них. Для null возвращает хэш-код, где null.hashCode генерирует NullPointerException.
- returns
значение хэша, согласованное с ==
- Definition Classes
- AnyRef → Any
final def ==(arg0: Any): Boolean
Выражение x == that эквивалентно if (x eq null) that eq null else x.equals(that).
- returns
trueесли объект-получатель эквивалентен аргументу;falseв противном случае.
- Definition Classes
- AnyRef → Any
final def asInstanceOf[T0]: T0
Преобразование объекта-получателя к типу T0.
Обратите внимание, что успех преобразования во время выполнения обусловлен семантикой стирания Scala. Поэтому выражение 1.asInstanceOf[String] выбросит ClassCastException во время выполнения, в то время как выражение List(1).asInstanceOf[List[String]] нет. В последнем примере, поскольку аргумент типа стирается в процессе компиляции, невозможно проверить, соответствуют ли содержимое списка нужному типу.
- returns
объект-получатель.
- Definition Classes
- Any
- Исключения
ClassCastExceptionесли объект-получатель не является экземпляром стирания типаT0.
def clone(): AnyRef
Создаёт копию объекта-получателя.
По умолчанию реализация метода clone зависит от платформы.
- returns
копия объекта-получателя.
final def collect[B](pf: PartialFunction[Nothing, B]): Option[B]
Возвращает scala.Some содержащую результат применения pf к содержанию этого scala.Option, если этот параметр не пуст и pf определено для этого значения. В противном случае возвращает None.
- pf
частичная функция.
- returns
результат применения
pfк значению этого scala.Option (если возможно) илиNone.
- Definition Classes
- 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
элемент для проверки.
- returns
trueесли параметр имеет элемент, равный (как определено==)elem,falseв противном случае.
- Definition Classes
- 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).
- returns
trueесли аргумент является ссылкой на объект-получатель;falseв противном случае.
- Definition Classes
- AnyRef
def equals(arg0: AnyRef): 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
проверяемый предикат
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 и нелокальными возвратами и исключениями, зависят от платформы.
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]
Возвращает вложенное значение scala.Option, если оно не пусто. В противном случае возвращает None.
Это эквивалентно:
option match {
case Some(Some(b)) => Some(b)
case _ => None
}
- ev
неявное преобразование, которое утверждает, что значение также является scala.Option.
- Определяющие классы
- Option
- См. также
flatMap
Some(Some("something")).flatten
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, если этот параметр пустой или предикат 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[_ <: AnyRef]
Возвращает представление класса объекта во время выполнения.
- возвращает
объект класса, соответствующий типу получателя во время выполнения.
final def getOrElse[B >: Nothing](default: => B): B
Возвращает значение параметра, если параметр непустой, в противном случае возвращает результат вычисления default.
Это эквивалентно:
option match {
case Some(x) => x
case None => default
}
- default
выражение по умолчанию.
final def isDefined: Boolean
Возвращает true, если параметр является экземпляром scala.Some, иначе false.
Это эквивалентно:
option match {
case Some(_) => true
case None => false
}
- Definition Classes
- Option
final def isEmpty: Boolean
Возвращает true, если параметр None, иначе false.
Это эквивалентно:
option match {
case Some(_) => false
case None => true
}
- Definition Classes
- Option
final def isInstanceOf[T0]: Boolean
Проверяет, является ли динамический тип объекта получателя T0.
Обратите внимание, что результат проверки выполняется с учётом семантики стирания Scala. Таким образом, выражение 1.isInstanceOf[String] вернёт false, а выражение List(1).isInstanceOf[List[String]] вернёт true. В последнем примере, так как аргумент типа стирается в процессе компиляции, нельзя проверить, соответствуют ли содержимое списка указанному типу.
- возвращает
true, если объект получателя является экземпляром стирания типаT0;falseв противном случае.
- Definition Classes
- Any
def iterator: Iterator[Nothing]
Возвращает итератор, возвращающий значение scala.Option, если оно непустое, или пустой итератор, если параметр пустой.
- Definition Classes
- Option → IterableOnce
final def knownSize: Int
- возвращает
Число элементов в этом параметре, если его можно легко вычислить, -1 в противном случае. Легко обычно означает: не требует обхода коллекции.
- Definition Classes
- Option → IterableOnce
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
функция для применения
- Definition Classes
- Option
- Annotations
- @inline()
- Примечание
Это аналогично
flatMap, за исключением того, чтоfне нужно заключать свой результат в scala.Option.- См. также
-
flatMap
foreach
final def ne(arg0: AnyRef): Boolean
Эквивалентно !(this eq that).
- возвращает
true, если аргумент не является ссылкой на объект-получатель;falseв противном случае.
- Definition Classes
- AnyRef
final def nonEmpty: Boolean
Возвращает false, если опция None, в противном случае true.
Это эквивалентно:
option match {
case Some(_) => true
case None => false
}
- Definition Classes
- Option
- Примечание
Реализовано здесь для избежания неявного преобразования в Iterable.
final def notify(): Unit
Разбуждает один поток, ожидающий монитора объекта-получателя.
- Definition Classes
- AnyRef
- Annotations
- @native()
- Примечание
не указано в SLS как член AnyRef
final def notifyAll(): Unit
Разбуждает все потоки, ожидающие монитора объекта-получателя.
- Definition Classes
- AnyRef
- Annotations
- @native()
- Примечание
не указано в 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
}
def productElementName(n: Int): String
Имя n-го элемента этого произведения, нумерация с 0. В стандартной реализации пустая строка.
- n
индекс элемента для возврата
- возвращает
имя указанного элемента
- Definition Classes
- Product
- Исключения
IndexOutOfBoundsException, еслиnвне допустимого диапазона (n < 0 || n >= productArity).
def productElementNames: Iterator[String]
Итератор по именам всех элементов этого произведения.
- Definition Classes
- Product
def stepper[S <: Stepper[_]](implicit shape: StepperShape[Nothing, S]): S
Возвращает Stepper для элементов этого набора.
Stepper позволяет создать поток Java для работы с набором, см. scala.jdk.StreamConverters. Для наборов, содержащих примитивные значения, Stepper можно использовать как итератор, который не упаковывает элементы.
Неявный параметр StepperShape определяет тип результирующего Stepper в соответствии с типом элемента этого набора.
-
Для наборов
Int, Short, Byte или Char, возвращается IntStepperДля наборов Double или Float, возвращается DoubleStepperДля наборов Long возвращается LongStepperДля любого другого типа элемента возвращается AnyStepperОбратите внимание, что этот метод переопределен в подклассах, и тип возвращаемого значения уточняется до S with EfficientSplit, например IndexedSeqOps.stepper. Для Stepper, помеченных scala.collection.Stepper.EfficientSplit, преобразователи в scala.jdk.StreamConverters позволяют создавать параллельные потоки, тогда как обычные Steppers могут быть преобразованы только в последовательные потоки.
- Определяющие классы
- IterableOnce
final def synchronized[T0](arg0: => T0): T0
- Определяющие классы
- AnyRef
final def toLeft[X](right: => X): Either[Nothing, X]
Возвращает scala.util.Right, содержащий заданный аргумент right, если он пуст, или scala.util.Left, содержащий значение этого 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
}
- Определяющие классы
- 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 unzip[A1, A2](implicit asPair: <:<[Nothing, (A1, A2)]): (Option[A1], Option[A2])
Преобразует Option пары в Option первого элемента и Option второго элемента.
Это эквивалентно:
option match {
case Some((x, y)) => (Some(x), Some(y))
case _ => (None, None)
}
- A1
тип первой половины пары элементов
- A2
тип второй половины пары элементов
- asPair
неявное преобразование, которое утверждает, что тип элемента этого Option — пара.
- возвращает
пара Option, содержащая соответственно первую и вторую половину пары элементов этого Option.
- Определяющие классы
- Option
final def unzip3[A1, A2, A3](implicit asTriple: <:<[Nothing, (A1, A2, A3)]): (Option[A1], Option[A2], Option[A3])
Преобразует опцию тройки в три опции, по одной для каждого элемента тройки.
Это эквивалентно:
option match {
case Some((x, y, z)) => (Some(x), Some(y), Some(z))
case _ => (None, None, None)
}
- A1
тип первого из трёх элементов тройки
- A2
тип второго из трёх элементов тройки
- A3
тип третьего из трёх элементов тройки
- asTriple
явное преобразование, которое утверждает, что тип элемента этой опции является тройкой.
- returns
тройку опций, содержащих соответственно первый, второй и третий элементы из тройки элементов этой опции.
- Definition Classes
- Option
final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
final def wait(arg0: Long): Unit
final def withFilter(p: (Nothing) => Boolean): WithFilter
Необходимо, чтобы scala.Option не преобразовывался неявно в scala.collection.Iterable в for выражениях.
final def zip[A1 >: Nothing, B](that: Option[B]): Option[(A1, B)]
Возвращает scala.Some, созданную из этой опции и другой опции путём объединения соответствующих элементов в пару. Если одна из двух опций пустая, None.
Это эквивалентно:
(option1, option2) match {
case (Some(x), Some(y)) => Some((x, y))
case _ => None
}
- that
опции, которая будет объединена
- Definition Classes
- Option
// Returns Some(("foo", "bar")) because both options are nonempty.
Some("foo") zip Some("bar")
// Returns None because `that` option is empty.
Some("foo") zip None
// Returns None because `this` option is empty.
None zip Some("bar")
© 2002-2019 EPFL, with contributions from Lightbend.
Licensed under the Apache License, Version 2.0.
https://www.scala-lang.org/api/2.13.0/scala/None$.html
Этот объект-пример представляет отсутствие значения.
1.0