在我来这里之前,我已经尝试找到此问题是否在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)); }
@H_404_13@这是由AndroID Studio转换的代码
private fun appendHex(sb: StringBuffer, b: Byte) { sb.append(HEX[b shr 4 and 0x0f]).append(HEX[b and 0x0f]) }
@H_404_13@错误是在转换后,AndroID Studio无法识别shr&并且,当我按ALT ENTER时,它会显示一个d出窗口,用于创建扩展功能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.}
@H_404_13@相同,但现在在d出窗口中,它具有一个导入选项,该选项指向导入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.}
@H_404_13@执行完此 *** 作并运行我的应用后,该类无法使用消息 *** 作未实现:未实现
如何实施这项工作?
解决方法:
您可以在Kotlin中将运算符(中缀函数)
shr
和and
用于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])}
@H_404_13@ 总结以上是内存溢出为你收集整理的将Java转换为Kotlin错误后实施代码全部内容,希望文章能够帮你解决将Java转换为Kotlin错误后实施代码所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)