【问题标题】:How to resolve conflicting overloads in Kotlin如何解决 Kotlin 中的冲突重载
【发布时间】:2022-08-11 20:02:13
【问题描述】:

我当前的 Android 应用程序我正在尝试实现以下扩展功能来处理任何类型的额外意图

fun Activity.extraNotNull(key: String): Lazy<String> = lazy {
    val value: String? = intent?.extras?.getString(key)
    requireNotNull(value) { MISSING_MANDATORY_KEY + key }
}
 
fun Activity.extraNotNull(key: String): Lazy<Long> = lazy {
    val value: Long? = intent?.extras?.getLong(key)
    requireNotNull(value) { MISSING_MANDATORY_KEY + key }
}

但是我收到以下编译时错误

我该如何解决冲突的重载错误

    标签: android kotlin


    【解决方案1】:

    你不能那样做。如果您只是更改返回类型,方法重载将不起作用。您需要添加/删除一些参数。

    您可能会尝试的一件事是使用 OUT PARAMETERs 而不是返回不同的类型。

    【讨论】:

      猜你喜欢
      • 2011-05-12
      • 2018-05-15
      • 2020-08-16
      • 2016-12-27
      • 2012-01-09
      • 2016-02-22
      • 2013-11-09
      • 1970-01-01
      • 2012-07-20
      相关资源
      最近更新 更多