You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用HereMaps SDK调试时遇MapController.kt空安全编译错误

解决HereMaps SDK集成时的Kotlin编译错误

编译错误信息:
\android\src\main\kotlin\com\here\mapview\MapController.kt: (52, 41): Only safe (?.) or non-null asserted (!!.) calls are allowed on a nullable receiver of type Activity?

这是Kotlin空安全机制触发的报错——你在代码第52行调用了一个Activity?类型(可空)对象的成员,但没有遵循Kotlin的空安全规则。

两种修复方式:

  • 安全调用(推荐):用?.替代.,仅当Activity不为null时才执行后续操作,不会触发空指针。
    示例:

    // 原错误写法(示例)
    // activity.someMethod()
    
    // 修复后
    activity?.someMethod()
    

    如果需要在Activity非空时执行多段代码,可配合let:

    activity?.let { safeActivity ->
        safeActivity.someMethod()
        safeActivity.anotherMethod()
    }
    
  • 非空断言(谨慎使用):如果你能100%确定此时Activity不可能为null,可使用!!.强制调用,但一旦出现null会直接抛出空指针异常。
    示例:

    activity!!.someMethod()
    

优先选择安全调用,非空断言仅适用于你能完全把控对象非空性的场景,避免潜在崩溃风险。

内容的提问来源于stack exchange,提问作者Aleksandr

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 08:01:43