有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

正在使用java Kotlin对,但该方法需要安卓。util。一对

我有一个用Java编写的PreferencesManager,其方法如下:

 public void insert(Pair<String, Object> keyValue, boolean async) {

从kotlin开始,我尝试在PreferencesManager中插入一对新的组合,如下所示:

 val  p = Pair(SharedPreferencesManager.STATIC_KEY, value)
            preferencesManager!!.insert(p, false)

然而,我得到一个错误,说:

"Required 安卓.util.Pair, found kotlin.Pair"...

有什么方法可以让我从一个转换到另一个吗


共 (2) 个答案

  1. # 1 楼答案

    作为对问题的评论中给出的answer @TheWanderer的替代方案。我建议进口安卓系统。util。使用as关键字配对,如下所示:

    import android.util.Pair as APair
    //....
    val  p = APair(SharedPreferencesManager.STATIC_KEY, value)
    preferencesManager!!.insert(p, false)
    

    参见kotlin docs on importing for more。kotlin包总是要导入的,而且显然会优先于其他包中的类,除非您重命名它们或完全限定它们

  2. # 2 楼答案

    Kotlin有自己的Pair,它不是android.util.Pair的扩展或代理。请尝试改用助手方法:

    public void insert(String key Object value, boolean async) {
        Pair<String, Object> pair = new Pair<>(key, value);
        insert(pair, async);
    }