Spec-Zone.ru › Scala 2.13 Library

Объект scala.None

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

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

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

1.0

Линейные надтипы
Option[Nothing], java.io.Serializable, Product, Equals, collection.IterableOnce[Nothing], AnyRef, Any

Члены типа

класс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

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

Атрибуты
protected[java.lang]
Definition Classes
AnyRef
Аннотации
@throws(classOf[java.lang.CloneNotSupportedException]) @native()
Примечание

не указано SLS в качестве члена AnyRef

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

проверяемый предикат

Определяющие классы
Option
Аннотации
@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

предикат, используемый для проверки.

Определяющие классы
Option
Аннотации
@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

предикат, используемый для проверки.

Определяющие классы
Option
Аннотации
@inline()

def finalize(): Unit

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

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

Атрибуты
protected[java.lang]
Определяющие классы
AnyRef
Аннотации
@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

применяемая функция

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

map

foreach

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
Пример:
    Some(Some("something")).flatten
См. также

flatMap

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

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

Определяющие классы
Option
Аннотации
@inline()

final def forall(p: (Nothing) => Boolean): Boolean

Возвращает true, если этот параметр пустой или предикат 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

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

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

map

flatMap

def get: Nothing

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

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

option match {
  case Some(x) => x
  case None    => throw new Exception
}
Definition Classes
None → Option
Исключения

java.util.NoSuchElementException если параметр пустой.

Примечание

Параметр должен быть непустым.

final def getClass(): Class[_ <: AnyRef]

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

возвращает

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

Definition Classes
AnyRef → Any
Annotations
@native()

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

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

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

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

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

Definition Classes
Option
Annotations
@inline()

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

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

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)

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

выражение, которое должно быть вычислено и возвращено, если этот объект пустой

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

toRight

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

выражение, которое должно быть вычислено и возвращено, если этот объект пустой

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

toLeft

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

Definition Classes
AnyRef
Annotations
@throws(classOf[java.lang.InterruptedException]) @native()

final def withFilter(p: (Nothing) => Boolean): WithFilter

Необходимо, чтобы scala.Option не преобразовывался неявно в scala.collection.Iterable в for выражениях.

Definition Classes
Option
Annotations
@inline()

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

Spec-Zone.ru

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