Spec-Zone.ru › Kotlin 1.9

Пакет kotlin.jvm

kotlin-stdlib / kotlin.jvm

Функции и аннотации, специфичные для платформы Java.

Типы

Требования к платформе и версии: JVM (1.6), JRE8 (1.6)

JvmRepeatable

Делает класс аннотаций повторяемой в Java и Kotlin. Повторяемая аннотация может быть применена более одного раза к одному элементу.

typealias JvmRepeatable = Repeatable

Аннотации

Требования к платформе и версии: JVM (1.2)

JvmDefault

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

annotation class JvmDefault
Требования к платформе и версии: JVM (1.6)

JvmDefaultWithCompatibility

Принуждает компилятор генерировать аксессоры совместимости для аннотированного интерфейса в классе DefaultImpls. Обратите внимание, что если интерфейс аннотирован этой аннотацией для бинарной совместимости, общедоступные производные интерфейсы Kotlin также должны быть аннотированы им, поскольку их методы DefaultImpls будут использоваться для доступа к реализациям из класса DefaultImpls исходного интерфейса.

annotation class JvmDefaultWithCompatibility
Требования к платформе и версии: JVM (1.4)

JvmDefaultWithoutCompatibility

Предотвращает генерацию компилятором аксессоров совместимости для аннотированного класса или интерфейса и подавляет любые связанные с этим предупреждения о совместимости. Другими словами, эта аннотация заставляет компилятор генерировать аннотированный класс или интерфейс в режиме -Xjvm-default=all, где генерируются только методы по умолчанию JVM, без DefaultImpls.

annotation class JvmDefaultWithoutCompatibility
Требования к платформе и версии: JVM (1.0)

JvmField

Инструктирует компилятор Kotlin не генерировать геттеры/сеттеры для этого свойства и предоставлять доступ к нему как к полю.

annotation class JvmField
Требования к платформе и версии: JVM (1.5)

JvmInline

Указывает, что данный класс значений является встроенным классом.

annotation class JvmInline
Требования к платформе и версии: JVM (1.0)

JvmMultifileClass

Инструктирует компилятор Kotlin генерировать многофайловый класс с функциями и свойствами верхнего уровня, объявленными в этом файле, как одну из его частей. Имя соответствующего многофайлового класса предоставляется аннотацией JvmName.

annotation class JvmMultifileClass
Требования к платформе и версии: JVM (1.0)

JvmName

Указывает имя для Java-класса или метода, который генерируется из этого элемента.

annotation class JvmName
Требования к платформе и версии: JVM (1.0)

JvmOverloads

Инструктирует компилятор Kotlin генерировать перегрузки для этой функции, которые заменяют значения параметров по умолчанию.

annotation class JvmOverloads
Требования к платформе и версии: JVM (1.5)

JvmRecord

Инструктирует компилятор пометить класс как запись и сгенерировать соответствующие методы toString/equals/hashCode

annotation class JvmRecord
Требования к платформе и версии: JVM (1.8)

JvmSerializableLambda

Заставляет аннотированную лямбда-функцию реализовывать java.io.Serializable, генерирует довольно toString реализацию и добавляет метаданные отражения.

annotation class JvmSerializableLambda
Требования к платформе и версии: JVM (1.0)

JvmStatic

Указывает, что из этого элемента необходимо сгенерировать дополнительный статический метод, если это функция. Если этот элемент является свойством, следует сгенерировать дополнительные статические методы геттера/сеттера.

annotation class JvmStatic
Требования к платформе и версии: JVM (1.0)

JvmSuppressWildcards

Инструктирует компилятор генерировать или опускать подстановочные знаки для аргументов типа, соответствующих параметрам с декларативной вариативностью, например, таким, как Collection<out T>.

annotation class JvmSuppressWildcards
Требования к платформе и версии: JVM (1.0)

JvmSynthetic

Устанавливает флаг ACC_SYNTHETIC для аннотированной цели в байт-коде Java.

annotation class JvmSynthetic
Требования к платформе и версии: JVM (1.0)

JvmWildcard

Инструктирует компилятор генерировать подстановочный знак для аннотированных аргументов типа, соответствующих параметрам с декларативной вариативностью.

annotation class JvmWildcard
Требования к платформе и версии: JVM (1.0)

PurelyImplements

Инструктирует компилятор Kotlin рассматривать аннотированный Java-класс как чистую реализацию данного интерфейса Kotlin. "Чистая" здесь означает, что каждый параметр типа класса становится неплатформенным аргументом типа этого интерфейса.

annotation class PurelyImplements
Требования к платформе и версии: JVM (1.0)

Strictfp

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

annotation class Strictfp

Synchronized

Помечает метод JVM, сгенерированный из аннотированной функции, как synchronized, что означает, что метод будет защищен от одновременного выполнения несколькими потоками монитором экземпляра (или, для статических методов, класса), на котором определен метод.

Требования к платформе и версии: JS (1.1)
annotation class Synchronized
Требования к платформе и версии: JVM (1.0)
annotation class Synchronized
Требования к платформе и версии: JVM (1.0)

Throws

Эта аннотация указывает, какие исключения должны быть объявлены функцией при компиляции в метод JVM.

annotation class Throws
Требования к платформе и версии: JVM (1.0)

Transient

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

annotation class Transient

Volatile

Помечает базовое поле JVM аннотированного свойства var как volatile, что означает, что чтение и запись в это поле являются атомарными, а записи всегда становятся видимыми для других потоков. Если другой поток считывает значение этого поля (например, через его аксессор), он видит не только это значение, но и все побочные эффекты, которые привели к записи этого значения.

Требования к платформе и версии: JS (1.1)
annotation class Volatile
Требования к платформе и версии: JVM (1.0)
annotation class Volatile

Исключения

Требования к платформе и версии: JVM (1.0)

KotlinReflectionNotSupportedError

open class KotlinReflectionNotSupportedError : Error

Расширения для внешних классов

Требования к платформе и версии: JVM (1.0)

java.lang.Class

Свойства

Требования к платформе и версии: JVM (1.0)

annotationClass

Возвращает экземпляр KClass, соответствующий типу аннотации этой аннотации.

val <T : Annotation> T.annotationClass: KClass<out T>
Требования к платформе и версии: JVM (1.7)

declaringJavaClass

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

val <E : Enum<E>> Enum<E>.declaringJavaClass: Class<E>
Требования к платформе и версии: JVM (1.0)

java

Возвращает экземпляр Java Class, соответствующий заданному экземпляру KClass.

val <T> KClass<T>.java: Class<T>
Требования к платформе и версии: JVM (1.0)

javaClass

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

val <T : Any> T.javaClass: Class<T>
val <T : Any> KClass<T>.javaClass: Class<KClass<T>>
Требования к платформе и версии: JVM (1.0)

javaObjectType

Возвращает экземпляр Java Class, соответствующий заданному экземпляру KClass. В случае примитивных типов возвращает соответствующие обертывающие классы.

val <T : Any> KClass<T>.javaObjectType: Class<T>
Требования к платформе и версии: JVM (1.0)

javaPrimitiveType

Возвращает экземпляр Java Class, представляющий примитивный тип, соответствующий заданному KClass, если он существует.

val <T : Any> KClass<T>.javaPrimitiveType: Class<T>?

Функции

Требования к платформе и версии: JVM (1.0)

isArrayOf

Проверяет, может ли массив содержать элемент типа T.

fun <T : Any> Array<*>.isArrayOf(): Boolean

© 2010–2023 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.jvm/index.html

Spec-Zone.ru

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