kotlin转java后出错(kotlin文件怎么转java)

http://www.itjxue.com  2023-02-13 14:23  来源:未知  点击次数: 

kotlin java.lang.noclassdeffounderror怎么解决

找不到类,少jar包啊。把这个类的全路径复制出来搜索 找到对应的jar包,添加到项目里就可以了。

用kotlin写的同一个jar程序,在windows上正常运行,放到linux上就运行失败

kotlinc KotlinDemo.kt -include-runtime -d KotlinDemo.jar

注:指令解释

kotlinc: 编译指令,类似于java中的javac

KotlinDemo.kt:当前要编译的kt文件

-include-runtime: 引入kotlin libary,使的输出的jar文件是是自包含且可以运行的

-d:输出目录,没指定为当前目录

KotlinDemo.jar:生成jar文件

kotlin使用时遇到的问题(一)

一.当创建android项目时,默认是java形式的activity,如果想要使用kotlin,就要将某个activity转换为kotlin形式的。

使当前窗口显示的界面是要转换的界面,点击code--convert Java File to Kotlin File

转换完毕后界面就变成了kotlin形式

二.查看build.gradle中并没有出现kotlin的配置,这时可以运行下项目,然后就会在activity的右上角出现configure,点击configure就可以配置kotlin应用范围和版本了。

选择配置

点击ok 等待自动配置kotlin,配置完毕后根build.gradle下后出现

module下的build.gradle会出现

三.运行时报错 unresolved reference kotlinx

这是因为没有添加kotlin的相关插件

在app的build.gradle下添加

apply plugin: 'kotlin-android-extensions'

四.因为使用kotlin之后,不需要再写findViewById(),需要用到

而这个包是在kotlin的extensions插件下。

Kotlin & 'onConfigurationChanged' overrides nothing

编译项目报错:

但是这个方法是根据 AndroidStudio 自动补全功能,直接自动补全的

原因还是 Java 转 Kotlin 的类型转化导致的,由于Kotlin 版本兼容问题,平台类型转为可空类型时出错。

去掉 可空类型符号 ? 就好了。

同理,遇到类似问题,可以去掉或者添加 可空类型符号 ? ,看问题能否解决。

Android Kotlin 反射使用 (null receiver 异常问题)

最近在使用Kotlin反射遇到些问题,总结一下:

报错:java.lang.NullPointerException: null receiver

原来写法: (直接从Java转的Kotlin)

会报错java.lang.NullPointerException: null receiver

查阅资料后发现是因为kotlin的object是单例模式,所以不先实例化是会报错的,所以做了如下修改

至此可正常反射调用到start方法

欢迎大家留言讨论

kotlin错误The archive: /HelloWorld/kotlin_bin which is referenced by the classpath, does not exist

可能环境没配置好吧,开发kotlin不建议使用eclipse,没有语法提示,使用idea吧

(责任编辑:IT教学网)

更多

推荐Fireworks教程文章