Android studio转换为Kotlin:在某些情况下使用@JvmStatic

时间:2017-09-04 07:39:37

标签: android android-studio kotlin android-studio-plugin

我一直在使用Kotlin而不是Android。它确实让编程变得有趣。 不过,在某些情况下(主要是名称应该简短且方便的util类),当自动将Java转换为Kotlin时,我希望有一个选项可以在静态方法上使用@JvmStatic,而不是将调用者转换为MyClass.Companion.Bar

也就是说,在某些特定情况下,拥有

会很不错
public static foo(Barian bar)

转换为

@JvmStatic
fun foo(bar:Barian)

所以我可以从Java维护短调用语法:

MyClass.foo(bar)

而不是

MyClass.Companion.foo(bar)

显然,在大多数情况下,我同意它的不良举止有很多原因,例如未来兼容性,非Kotlin精神等等,但在少数情况下,它可以保持Java代码(使用我的类)更短

1 个答案:

答案 0 :(得分:0)

当你对这样的“静态”方法进行十分转换时,你不需要明确指定Companion命名空间:

class MyClass {

    companion object {
        fun foo() {}
    }
}

在这种情况下,您仍然可以通过以下方式调用它:

MyClass.foo()

但是,静态方法不是Kotlin-idiomic方式,应该通过使用这种语言的其他功能来避免。