【Kotlin你不知道的秘密(一)】教程文章相关的互联网学习教程文章

java-Room Kotlin:实体和Pojos必须具有可用的公共构造函数【代码】

当我运行我的应用程序时,出现跟随错误.Error: Entities and Pojos must have a usable public constructor. You can have an emptyconstructor or a constructor whose parameters match the fields (by name and type).Tried the following constructors but they failed to match:ChatMsg(java.lang.String,int) : [arg0 : null, arg1 : null] Error: Entities and Pojos must have a usable public constructor. You can have a...

java-在Kotlin项目中使用@Value注释时出现编译器警告【代码】

在后期初始化中,是否可以使用Kotlin语言中的任何类型代替java.lang.Integer,以便不会收到编译器警告? 假设我有一个像这样的课程:class SomeClass {@Value(#{config['poolCapacity']?:'5000'})lateinit var somePool: Integer }我不能使用Kotlin的Int类型,因为它是原始类型,而lazeint不接受它. 如果我坚持使用java.lang.Integer,它可以正常工作,但是我得到了这种编译器警告:SomeClass.kt: (20, 24): This class shouldn’t be us...

Java-Kotlin:泛型和方差【代码】

我想在Throwable上创建一个扩展函数,给定一个KClass,它以递归方式搜索与该参数匹配的根本原因.以下是一种可行的尝试:fun <T : Throwable> Throwable.getCauseIfAssignableFrom(e: KClass<T>): Throwable? = when {this::class.java.isAssignableFrom(e.java) -> thisnonNull(this.cause) -> this.cause?.getCauseIfAssignableFrom(e)else -> null }这也适用:fun Throwable.getCauseIfAssignableFrom(e: KClass<out Throwable>): ...

javascript-如何在Kotlin中使用一个名为“ val()”的函数? /扩展外部JS类【代码】

尝试将Cloud Functions for Firebase与Kotlin一起使用时遇到问题. 从数据库触发器访问数据时,请使用snapshot.val();. JavaScript中的功能.在Kotlin中,这是不可能的,因为val是Kotlin中的关键字.我设法通过使用snapshot.`val()`这样,我可以在Kotlin中使用任何名称调用函数.现在,我认为每次都键入此“重音符”确实很烦人,因此我尝试创建一个扩展函数. 我的问题是我不知道如何引用类型.在Javascript中,访问数据库时为DeltaSnapshot或Da...

Android将Kotlin源码部署到Maven存储库【代码】

gradle配置如何确保kotlin源包含在要部署在Maven存储库中的源分类器jar中?解决方法:假设您使用的是自定义maven deploy gradle配置,假设Chris Banes提供了https://github.com/chrisbanes/gradle-mvn-push 您唯一需要做的就是指定您正在使用* .kt文件(假设您正在混合Java文件夹中的java& kotlin文件)android {sourceSets {main {java {include '**/*.java'include '**/*.kt'}}}}编辑:Ofc仅将代码添加到sources.jar中.现在IntelliJ需...

如何将Kotlin文件注释为Java类【代码】

在kotlin xxx.kt中:@file:JvmName("Utils") fun staticFunc()在Java xxx.java中:Utils.staticFunc()但是在Java中我们看不到类Utils的注释,因为类Utils不存在(实际上是xxx.kt).如何注释xxx.kt,让Java用户可以看到类Utils的注释?解决方法:不支持.从Kotlin的角度来看,Utils类并不存在,它仅是为JVM interop生成的,因此无法为其提供文档. 如果需要向Java调用者提供文档,请改用对象:/*** My utility functions.*/ object Utils {fun ...

如何从Java调用Kotlin标准库函数?【代码】

动机: 在我们的Android项目中,我们进行了许多验证,例如str!= null&& !str.isEmpty(),所以我决定将它们重构为辅助方法.一会儿,我使用以下课程作为助手:public class StringUtil {public static boolean isNullOrEmpty(@Nullable String str) {return str == null || str.isEmpty();} }问题: 我们已经有一个用Kotlin编写的字符串的帮助程序类(例如,String.kt).因此,尚不清楚有两个助手(一个在Java中,一个在Kotlin中). 我试过的 ...

java-使用Kotlin进行参数回调【代码】

我刚开始Kotlin,所以请保持友好:) 我有一个负责获取一些数据并通知主要活动其需要更新其UI的类. 所以我在DataProvider.kt中做了一个函数:fun getPeople(fromNetwork: Boolean, results: ((persons: Array<Person>, error: MyError?) -> Unit)) {// do some stuff stuffval map = hashMapOf("John" to "Doe","Jane" to "Smith")var p = Person(map)val persons: Array <Person> = arrayOf (p)results(persons, null)}所以我想从我的...

Java和Kotlin内部/本地/匿名类之间有什么区别?【代码】

Java和Kotlin嵌套/内部/本地类之间的名称等效和主要区别是什么?解决方法:这些是等效的名称:| Kotlin | Java | |-------------------|-------------------------------------------| | Inner Classes | Non-Static Nested Classes / Inner Classes | | Nested Classes | Static Nested Classes | | Local Classes | Local Classes ...

java-使用Kotlin在通用类中获取吸气剂(或方法或属性)列表【代码】

我不知道如何在Kotlin中处理泛型. 我正在编写一个用于对通用对象进行更改的历史记录类,该类应该获取任何类型的类作为参数:在那之后,我将比较旧的对象值和新的对象值,如果发现差异,我将把它写在我的数据类中. 我已经成功地使用bean.getClass().getMethods();在Java中进行了此操作,但是我想尝试移至Kotlin.class ChangeHistoryUtils<T> (val originalBean : T, username : String , var modifiedBean: T? = null) {data class Chang...

将Java文件转换为在Android Studio 3.3中禁用的kotlin文件【代码】

更新Android Studio 3.3 Canary 7之后,将Java文件转换为Kotlin文件显示为禁用.Android Studio Menu -> Code -> Convert Java File to Kotlin File其显示禁用.为什么禁用它以及如何启用它android studio最新版本.解决方法:打开文件,然后按Ctrl + Alt + Shift + K 将Java代码转换为Kotlin代码: >从项目结构中选择Java类文件.> Android Studio菜单->代码->将Java文件转换为Kotlin文件

java-Kotlin生成的字节码是否会影响方法计数?【代码】

例如,如果我使用methodReference = ::method而不是methodReference = { method(it) }由于反射,反编译的代码将在Java代码中包含getOwner,getName,getSignature方法.这些方法是否计入64k限制?解决方法:仅当proguard / R8未删除这些方法时,这些方法才计算在内 一个例子fun method(t : Any) {}val reference1: KFunction1<Any, Unit> = ::methodval reference2: (Any) -> Unit = { method(it) }对于reference1,字节码(反编译为Java)为...

java-解析xml kotlin android【代码】

我有这样的XML:<horo> <aries> <today> Сегодня вас могут здорово огорчить. Если от расстройства все начнет валится из рук, просто спокойно сядьте и тихонько подождите хорошей новости. </today> </aries> <taurus> <today> Сегодня у вас могут возникнуть пр...

java-Kotlin中的错误“必须不为null”【代码】

我正在尝试获取一个.zip文件中的多个文件.尝试解压缩文件会提供java.lang.IllegalStateException:zis.nextEntry不能为null.如何正确地做呢?@Throws(IOException::class)fun unzip(zipFile: File, targetDirectory: File) {val zis = ZipInputStream(BufferedInputStream(FileInputStream(zipFile)))try {var ze: ZipEntryvar count: Intval buffer = ByteArray(8192)ze = zis.nextEntrywhile (ze != null) {val file = File(targ...

Kotlin 1.2.10和Java 9对自动模块有相反的规则吗?【代码】

我有一个使用Kotlin Gradle插件的Gradle项目.我想构建一个Java 9模块,所以我的目录结构如下所示:src/main/java/- module-info.java src/main/kotlin/- Foo.kt- Bar.kt build.gradle ...我的build.gradle声明了以下依赖项:dependencies {compile "org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.2.10"compile "org.jetbrains.kotlin:kotlin-reflect:1.2.10"compile "org.junit.jupiter:junit-jupiter-api:5.0.2" }我在我的Kotlin源代...