返回Kotlin @JvmStatic中的片段实例

时间:2018-06-26 22:01:16

标签: java android android-fragments kotlin

科特琳(Kotlin)会生成类似这样的内容

   @JvmStatic
        fun newInstance(param1: String, param2: String) =
                MyFragment().apply {
                    arguments = Bundle().apply {
                        putString(ARG_PARAM1, param1)
                        putString(ARG_PARAM2, param2)
                    }
                }

@JvmStatic是什么?

我们可以做类似的事情:

fun getInstance() = MyFragment()

和此功能相同(参数除外)

@JvmStatic没用吗?

1 个答案:

答案 0 :(得分:2)

对于Kotlin而言,这“无关紧要”,但是如果您是从Java使用它,那么它将被“转换”为静态方法。在kotlin中没有等效的静态方法,因此这是一种告诉JVM从Java使用时将转换为静态方法的方法。

来自docs

  

指定需要从中生成其他静态方法   该元素是否为函数。