Spec-Zone.ru › Kotlin 2

Объявления уровня пакета

kotlin-stdlib/kotlin.jvm

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

Типы

ImplicitlyActualizedByJvmDeclaration

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

@Target(allowedTargets = [AnnotationTarget.CLASS])
@ExperimentalMultiplatform
expect annotation class ImplicitlyActualizedByJvmDeclaration

Эта аннотация помечает объявления Kotlin expect, которые неявно актуализируются Java.

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

@Target(allowedTargets = [AnnotationTarget.CLASS])
@ExperimentalMultiplatform
actual annotation class ImplicitlyActualizedByJvmDeclaration

Эта аннотация помечает объявления Kotlin expect, которые неявно актуализируются Java.

JvmDefaultWithCompatibility

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

@Target(allowedTargets = [AnnotationTarget.CLASS])
annotation class JvmDefaultWithCompatibility

Заставляет компилятор генерировать совместимые методы доступа для аннотированного класса или интерфейса.

JvmDefaultWithoutCompatibility

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

@Target(allowedTargets = [AnnotationTarget.CLASS])
annotation class JvmDefaultWithoutCompatibility

Запрещает компилятору генерировать совместимые методы доступа для аннотированного класса или интерфейса.

JvmExposeBoxed

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

@ExperimentalStdlibApi
@Target(allowedTargets = [AnnotationTarget.FUNCTION, AnnotationTarget.CONSTRUCTOR, AnnotationTarget.PROPERTY_GETTER, AnnotationTarget.PROPERTY_SETTER, AnnotationTarget.CLASS])
expect annotation class JvmExposeBoxed(val jvmName: String = "")

Эта аннотация указывает компилятору предоставлять API функций с inline-классами (а также классов, содержащих их, включая сами inline-классы) в виде их упакованного варианта для эффективного использования из Java.

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

@ExperimentalStdlibApi
@Target(allowedTargets = [AnnotationTarget.FUNCTION, AnnotationTarget.CONSTRUCTOR, AnnotationTarget.PROPERTY_GETTER, AnnotationTarget.PROPERTY_SETTER, AnnotationTarget.CLASS])
actual annotation class JvmExposeBoxed(val jvmName: String)

Эта аннотация указывает компилятору предоставлять API функций с inline-классами (а также классов, содержащих их, включая сами inline-классы) в виде их упакованного варианта для эффективного использования из Java.

JvmField

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

@Target(allowedTargets = [AnnotationTarget.FIELD])
expect annotation class JvmField

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

JvmInline

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

@Target(allowedTargets = [AnnotationTarget.CLASS])
expect annotation class JvmInline

Указывает, что данный value-класс является inline-классом.

JvmMultifileClass

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

@Target(allowedTargets = [AnnotationTarget.FILE])
expect annotation class JvmMultifileClass

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

JvmName

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

@Target(allowedTargets = [AnnotationTarget.FILE, AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY_GETTER, AnnotationTarget.PROPERTY_SETTER])
expect annotation class JvmName(val name: String)

Задает имя класса или метода Java, генерируемого из этого элемента.

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

@Target(allowedTargets = [AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY_GETTER, AnnotationTarget.PROPERTY_SETTER, AnnotationTarget.FILE])
actual annotation class JvmName(val name: String)

Задает имя класса или метода Java, генерируемого из этого элемента.

JvmOverloads

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

@Target(allowedTargets = [AnnotationTarget.FUNCTION, AnnotationTarget.CONSTRUCTOR])
expect annotation class JvmOverloads

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

JvmRecord

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

@Target(allowedTargets = [AnnotationTarget.CLASS])
expect annotation class JvmRecord

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

JvmRepeatable

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

typealias JvmRepeatable = Repeatable

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

JvmSerializableLambda

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

@Target(allowedTargets = [AnnotationTarget.EXPRESSION])
expect annotation class JvmSerializableLambda

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

JvmStatic

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

@Target(allowedTargets = [AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY, AnnotationTarget.PROPERTY_GETTER, AnnotationTarget.PROPERTY_SETTER])
expect annotation class JvmStatic

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

JvmSuppressWildcards

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

@Target(allowedTargets = [AnnotationTarget.CLASS, AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY, AnnotationTarget.TYPE])
expect annotation class JvmSuppressWildcards(val suppress: Boolean = true)

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

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

@Target(allowedTargets = [AnnotationTarget.CLASS, AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY, AnnotationTarget.TYPE])
actual annotation class JvmSuppressWildcards(val suppress: Boolean = true)

Указывает компилятору генерировать или не генерировать подстановочные знаки для аргументов типа, соответствующих параметрам с вариантностью на месте объявления, например, как у E из kotlin.collections.Collection, объявленного с вариантностью out.

JvmSynthetic

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

@Target(allowedTargets = [AnnotationTarget.FILE, AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY_GETTER, AnnotationTarget.PROPERTY_SETTER, AnnotationTarget.FIELD])
expect annotation class JvmSynthetic

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

JvmWildcard

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

@Target(allowedTargets = [AnnotationTarget.TYPE])
expect annotation class JvmWildcard

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

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

@Target(allowedTargets = [AnnotationTarget.TYPE])
actual annotation class JvmWildcard

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

PurelyImplements

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

@Target(allowedTargets = [AnnotationTarget.CLASS])
annotation class PurelyImplements(val value: String)

Указывает компилятору Kotlin рассматривать аннотированный класс Java как чистую реализацию данного интерфейса Kotlin. Здесь «чистая» означает, что каждый параметр типа класса становится аргументом типа, не являющимся платформенным типом, для этого интерфейса.

Strictfp

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

@Target(allowedTargets = [AnnotationTarget.FUNCTION, AnnotationTarget.CONSTRUCTOR, AnnotationTarget.PROPERTY_GETTER, AnnotationTarget.PROPERTY_SETTER, AnnotationTarget.CLASS])
expect annotation class Strictfp

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

Synchronized

Требования к платформе и версии: Общая (1.0), JS (1.1)

@Target(allowedTargets = [AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY_GETTER, AnnotationTarget.PROPERTY_SETTER])
expect annotation class Synchronized

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

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

@Target(allowedTargets = [AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY_GETTER, AnnotationTarget.PROPERTY_SETTER])
actual annotation class Synchronized

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

Throws

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

@Target(allowedTargets = [AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY_GETTER, AnnotationTarget.PROPERTY_SETTER, AnnotationTarget.CONSTRUCTOR])
annotation class Throws(val exceptionClasses: KClass<out Throwable>)

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

Transient

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

@Target(allowedTargets = [AnnotationTarget.FIELD])
expect annotation class Transient

Помечает резервное поле аннотированного свойства модификатором transient на платформе JVM. Это означает, что оно не входит в сериализованное представление объекта при сериализации с помощью механизма java.io.Serializable.

Volatile

Требования к платформе и версии: Общая (1.0), JS (1.1)

@Target(allowedTargets = [AnnotationTarget.FIELD])
expect annotation class Volatile

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

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

@Target(allowedTargets = [AnnotationTarget.FIELD])
actual annotation class Volatile

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

Свойства

annotationClass

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

val <T : Annotation> T.annotationClass: KClass<out T>

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

declaringJavaClass

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

val <E : Enum<E>> Enum<E>.declaringJavaClass: Class<E>

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

java

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

@get:JvmName(name = "getJavaClass")
val <T> KClass<T>.java: Class<T>

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

javaClass

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

val <T : Any> T.javaClass: Class<T>

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

@get:JvmName(name = "getRuntimeClassOfKClassInstance")
val <T : Any> KClass<T>.javaClass: Class<KClass<T>>
javaObjectType

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

val <T : Any> KClass<T>.javaObjectType: Class<T>

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

javaPrimitiveType

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

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

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

kotlin

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

@get:JvmName(name = "getKotlinClass")
val <T : Any> Class<T>.kotlin: KClass<T>

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

Функции

isArrayOf

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

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

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

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

Spec-Zone.ru

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