我在Android应用程序开发中从Java迁移到Kotlin, 但在某些情况下,我不想在Kotlin中编码并且想要 这些特殊情况用Java编写:
print(np.mean([est.steps[1][1].feature_importances_ for est in bbc.estimators_], axis=0))
findViewByIds
,而Java总是以null-safety
NullPointerException
个表达式以及许多其他功能。但是,我的部分代码无法在Kotlin中编写,例如Lambda
成员或static
字段。
Kotlin注释实际上可以取代那些non-primitive
。但是喜欢Java的一些编码功能,并且不想离开它。
我的问题是我可以将Java和Kotlin结合在一起吗?
答案 0 :(得分:15)
如果你的问题是你可以在java文件中使用kotlin文件,反之亦然,那么答案是肯定的。
如果你问你是否可以在java文件中使用kotlin语法,反之亦然,那么答案是否定的。
要在java类中使用kotlin代码,您只需像任何其他java类一样使用该类
答案 1 :(得分:3)
您可以使用随播广告创建类似静态变量的java。
您可以使用对象在Kotlin中轻松创建单身。
我借了kotlin。我已将所有代码迁移到Kotlin。
答案 2 :(得分:1)
即使它是互操作的,你也不能将Java和Kotlin混合在同一个文件中。
如果您真的想拥有静态方法/变量,可以使用companion object
。您还可以访问创建"真实"使用@JvmStatic
在JVM中使用静态方法。
简单样本是:
companion object {
@JvmStatic
fun newInstance() ) SampleFragment()
}
等于
public static SampleFragment() { return new SampleFragment(); }
通过使用@JvmStatic
,您可以像以前一样使用Java访问静态方法。
答案 3 :(得分:0)
您可以在项目中使用Java和Kotlin类和活动。
同一个Class不能拥有Java和Kotlin。 您可以使用 Ctrl + Alt + Shift + K 将Java文件转换为Kotlin,或者只需双击SHIFT并搜索将Java转换为Kotlin