相关疑难解决方法(0)

Kotlin 顶级函数与对象函数

我有静态函数,它仅限于某些上下文,例如仅用于文档。有两种替代方法可以将其定义为顶级函数或对象中的函数。

1.

package com.armsoft.mtrade.data.pref

import com.armsoft.mtrade.App
import com.armsoft.mtrade.domain.model.DocSaveType

object DocPrefManager {
    private const val DOC_PREF = "DOC_PREF"

    private const val KEY_ORDER_SAVE_TYPE = "KEY_ORDER_SAVE_TYPE"

    @JvmStatic
    fun setOrderSaveType(orderSaveType: DocSaveType) {
        val context = App.getContext()
        val sharedPreferences = context.getSharedPreferences(DOC_PREF, 0)
        val editor = sharedPreferences.edit()
        editor.putString(KEY_ORDER_SAVE_TYPE, orderSaveType.getCode())
        editor.commit()
    }
}
Run Code Online (Sandbox Code Playgroud)

2.

package com.armsoft.mtrade.data.pref

import com.armsoft.mtrade.App
import com.armsoft.mtrade.domain.model.DocSaveType

fun setOrderSaveType(orderSaveType: DocSaveType) {
    val context = App.getContext()
    val sharedPreferences = context.getSharedPreferences(DocPrefManager.DOC_PREF, 0)
    val editor = sharedPreferences.edit()
    editor.putString(DocPrefManager.KEY_ORDER_SAVE_TYPE, orderSaveType.getCode())
    editor.commit()
}
Run Code Online (Sandbox Code Playgroud)

顶层函数的优点是不包含在对象中,缺点是可以从任何地方访问而无需类名前缀。对于这种情况,是否有优点或缺点或最佳实践?

android function kotlin

9
推荐指数
3
解决办法
4316
查看次数

标签 统计

android ×1

function ×1

kotlin ×1