Android   发布时间:2022-03-31  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了将Java转换为Kotlin错误后实施代码大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

在我来这里之前,我已经尝试找到此问题是否在StackoverFlow上.
我尝试将Java类转换为Kotlin,但Android studio却做得不太好.

我尝试手动执行此操作,但未成功.

这是Java中的原始代码

    private static void appendHex(StringBuffer sb, byte b) {
        sb.append(HEX.charAt((b >> 4) & 0x0f)).append(HEX.charAt(b & 0x0f));
    }

这是由Android studio转换的代码

    private fun appendHex(sb: StringBuffer, b: BytE) {
        sb.append(HEX[b shr 4 and 0x0f]).append(HEX[b and 0x0f])
    }

错误是在转换后,Android studio无法识别shr&并且,当我按ALT ENTER时,它会显示一个弹出窗口,用于创建扩展功能Byte.shr,按Enter后,它将创建一个私人娱乐:

private infix fun Byte.shr(i: int): Any {
    TODO("not implemented") //To change body of created functions use File | SetTings | File Templates.
}

相同,但现在在弹出窗口中,它具有一个导入选项,该选项指向导入kotlin.experimental.and或创建私人乐趣:

private infix fun Any.and(i: int): Int {
    TODO("not implemented") //To change body of created functions use File | SetTings | File Templates.
}

执行完此操作并运行我的应用后,该类无法使用消息操作未实现:未实现

如何实施这项工作?

解决方法:

您可以在Kotlin中将运算符(中缀函数)shrand用于Int(和Long)类型.
只需使用b.toInt()更改b:

private fun appendHex(sb: StringBuffer, b: BytE) {
    sb.append(HEX[b.toInt() shr 4 and 0x0f]).append(HEX[b.toInt() and 0x0f])
}

大佬总结

以上是大佬教程为你收集整理的将Java转换为Kotlin错误后实施代码全部内容,希望文章能够帮你解决将Java转换为Kotlin错误后实施代码所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: