问题标签 [kotlin-experimental]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - 找不到引用的类 kotlin.internal.annotations.AvoidUninitializedObjectCopyingCheck
当使用 Kotlin 为 Android 项目启用 ProGuard 时,Gradle 构建失败并出现以下错误:
警告:HomeChargerLocation:找不到引用的类 kotlin.internal.annotations.AvoidUninitializedObjectCopyingCheck
警告:HomeChargerLocation$Address:找不到引用的类 kotlin.internal.annotations.AvoidUninitializedObjectCopyingCheck
警告:HomeChargerLocation$Address$Creator:找不到引用的类 kotlin.internal.annotations.AvoidUninitializedObjectCopyingCheck
警告:HomeChargerLocation$Car:找不到引用的类 kotlin.internal.annotations.AvoidUninitializedObjectCopyingCheck
警告:HomeChargerLocation$Car$Creator:找不到引用的类 kotlin.internal.annotations.AvoidUninitializedObjectCopyingCheck
警告:HomeChargerLocation$Creator:找不到引用的类 kotlin.internal.annotations.AvoidUninitializedObjectCopyingCheck
警告:处理任务时出现异常 java.io.IOException:请先更正上述警告。
对应类:https ://gist.github.com/makovkastar/cfa4bf1bea38556279f20eef46001cf8
我认为它与@Parcelize
Kotlin 实验包中的注释有关,因为当我们开始使用它时就出现了问题。
更新:我在 Kotlin 错误跟踪器中创建了一个问题 - https://youtrack.jetbrains.com/issue/KT-21628
kotlin - kotlin async 无法编译
以下代码无法编译,尽管文档说它应该像这样简单:
错误是:
kotlin - JUnit 测试中的 Kotlin 内联类
我试图理解内联类的概念 - 它们是在运行时内联的单个属性的简单对象包装器。这意味着,类的实际初始化不会在运行时发生
我正在尝试编写简单的测试,它将在 JUnit 测试期间直接显示我的上述解释,如下所示:
不幸的是,这个测试失败了,这让我想到为什么在assertEquals()
实际展开的 String 值没有被比较,而是实际的内联类(应该在运行时展开)?
arrays - UByteArray 相等运算符
在 Kotlin 代码中,我有两个UByteArray
对象,我想知道它们是否有相同的东西:
相等运算符是否足够,还是我必须逐字节比较两个字节?
android - Room database with Kotlin inline class as an Entity field
I am trying to get Room(https://developer.android.com/topic/libraries/architecture/room) work with Kotlin's inline classes as described in Jake Whartons article Inline Classes Make Great Database IDs:
When compiling this Room complains that
Entities and Pojos must have a usable public constructor. You can have an empty constructor or a constructor whose parameters match the fields (by name and type).
Looking into the generated Java code I find:
Mysteriously the default constructor is private now.
When using String
as a type for id
(or a typealias
), the generated Java class constructor looks like expected:
Does somebody now how to keep the default constructor public while using Inline Classes as data entity properties?
android - Kotlin 1.3.50 Parcelize 未解决的参考错误
运行我的第一个 android 应用程序,kotlin 1.3.50。我最初实现了 Parcelable,但切换到 parcelize 然后添加了枚举。这是我的数据类
一个问题提到 build.gradle 中的插件顺序是问题的根源。这是我的
知道为什么我@Parcelize 无法解决吗?
android-studio - 如何在项目范围内使用 Kotlin ExperimentalUnsignedTypes (AndroidStudio)
我正在尝试@ExperimentalUnsignedTypes
在我的 AndroidStudio 项目中使用。看来我必须把它放在任何地方,所以我宁愿在项目范围内设置它。
文件说
除非使用 UseExperimental 注释明确选择加入,例如 @UseExperimental(ExperimentalUnsignedTypes::class) 或 -Xuse-experimental=kotlin.ExperimentalUnsignedTypes 编译器选项,否则此类 API 的使用将被报告为警告。
尽职尽责,我调整了我的Preferences>>Other Settings>>Kotlin Compiler
:
但是在清理/制作后我仍然会收到(很多)警告。有人建议我也添加-XXLanguage:+InlineClasses
到同一行。但结果是一样的。然后我注意到在同一首选项窗格的顶部它说:
这是我的问题吗?如果是这样,我在哪里可以调整我的应用程序设置以使这些编译器设置有效?
android - 在整个应用程序中处理多个实验性注释
我有一个应用程序大量使用 Jetpack Compose 的实验性功能,因此我必须在可组合项上声明一堆注释。由于这些注释要求调用者也声明它们,所以我最终遇到了一种情况,即我有一个使用以下代码的活动:
避免这种情况的另一种方法是使用,@OptIn
但由于每个声明只允许一个,因此它不适用于具有多个实验性功能的我的情况。
无论如何……这很好用——在 Kotlin 1.5 中。
使用 Kotlin 1.6 我收到编译错误:
覆盖上的选择加入要求标记注释需要基本声明上的相同标记
但是基本声明在我无法更改的标准 API 中。 我怎样才能使这个编译(并像以前一样工作)?
kotlin - 我可以使用 Kotlin 合约来保证另一个属性的非无效性吗?
我有一个具有可为空属性的类description: String?
,为了方便起见,我想公开一个fun hasDescription(): Boolean
对说字符串进行空检查的类。
为了更方便,我希望使用合约,以便在检查后可以智能description
转换为不可为空。String
hasDescription()
- 现在这可能吗(带有实验性合同和 Kotlin 1.5)?
- 当合约稳定时有可能吗?