我一直在使用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代码(使用我的类)更短
答案 0 :(得分:0)
当你对这样的“静态”方法进行十分转换时,你不需要明确指定Companion命名空间:
class MyClass {
companion object {
fun foo() {}
}
}
在这种情况下,您仍然可以通过以下方式调用它:
MyClass.foo()
但是,静态方法不是Kotlin-idiomic方式,应该通过使用这种语言的其他功能来避免。