以下是Kotlin代码,我想转为Java代码,共有三处
class TestKotlin{
fun say(x:Int){
}
fun useSay(){
//第一段
say(KeyProperties.PURPOSE_ENCRYPT or KeyProperties.PURPOSE_DECRYPT) //如何转为java,不理解or在这啥意思,int 形参怎么传入的像个boolean
}
//第二段
DialogInterface.OnDismissListener dismissListener //声明
dismissListener?.let { setOnDismissListener(it) } //如何转为java
第三段
config?.iBiometricDialog //如何转为java
Java代码转换的结果:
import android.content.DialogInterface;
public class TestJava {
public void say(int x){
}
public void useSay(){
// 第一段
say(KeyProperties.PURPOSE_ENCRYPT | KeyProperties.PURPOSE_DECRYPT); // "|" 表示按位或运算符,可以将 KeyProperties.PURPOSE_ENCRYPT 和 KeyProperties.PURPOSE_DECRYPT 的值进行合并
}
DialogInterface.OnDismissListener dismissListener;
public void setDismissListener() {
if (dismissListener != null) {
setOnDismissListener(dismissListener);
}
}
}
Kotlin 中的 or 关键字表示按位或运算符,而在 Java 中,按位或运算符使用 | 符号表示。
在 Java 中,可以使用 if 语句来判断对象是否为 null。而在 Kotlin 中,可以使用 ?. 运算符来判断对象是否为 null,并执行相应的操作。
几乎所有 Java 代码都可以使用而没有任何问题:
setter和getter
java代码中的setter,getter按照标准的写法书写,在kotlin中也是可以按setter,getter调用的。
void Unit
java中的void和unit 对应
关键字
一些 Kotlin 关键字在 Java 中是有效标识符:in、 object、 is 等等。 如果一个 Java 库使用了 Kotlin 关键字作为方法,你仍然可以通过反引号(`)字符转义它来调用该方法:
foo.`is`(bar)
空安全
kotlin中调用java,不能保证空安全