我一直在使用Kotlin而不是Android。它确实使编程乐趣重演。 在某些情况下(主要是util类,其名称应该简短且方便),当自动将Java转换为Kotlin时,我希望可以选择在静态方法上使用@JvmStatic,而不是将调用者转换为MyClass.Companion.Bar
。Android Studio转换为Kotlin:在某些情况下使用@JvmStatic
也就是说,在某些特定情况下,这将是不错的
public static foo(Barian bar)
转换为
@JvmStatic
fun foo(bar:Barian)
,所以我可以保持从Java短调用语法:
MyClass.foo(bar)
而不是
MyClass.Companion.foo(bar)
很明显,在大多数情况下,我认为它有很多原因,比如未来兼容性,非Kotlin精神等等,但在少数情况下,它可以使Java代码(使用我的类)更短。
你的问题是什么? – Mibac
在一些中央util类上,Java代码不得不调用MyClass.Companion.foo()并不好。这些是为了使Java代码“整洁”而制作的类,所以我想让它们保持简短。 不幸的是,自动转换为Kotlin使它们成为伴侣对象。在大多数情况下,这是正确的,但有些情况下,我想让它添加@JvmStatic以缩短我的Java代码。或者至少,采取现有的伴侣对象功能,并使其呼叫者避免伴随呼叫。 (没有biggie,可以用正则表达式来完成,但是如果我可以从插件中获得它 - 为什么不呢?) –
我不确定我是否正确。你想自动转换为Kotlin,将Java静态方法标记为“@ JvmStatic”?据我所知,没有这种选择 – Mibac