dav*_*307 2 java android kotlin
我有一个用Java编写的PreferencesManager,方法如下:
public void insert(Pair<String, Object> keyValue, boolean async) {
Run Code Online (Sandbox Code Playgroud)
从kotlin我试图将一个新的Pair插入到PreferencesManager中,如下所示:
val p = Pair(SharedPreferencesManager.STATIC_KEY, value)
preferencesManager!!.insert(p, false)
Run Code Online (Sandbox Code Playgroud)
但是我收到一个错误说:
"需要android.util.Pair,找到kotlin.Pair"......
有没有办法可以从一个转换到另一个?
作为@TheWanderer在问题评论中给出的答案的替代方案.我建议使用as关键字导入android.util.Pair ,如下所示:
import android.util.Pair as APair
//....
val p = APair(SharedPreferencesManager.STATIC_KEY, value)
preferencesManager!!.insert(p, false)
Run Code Online (Sandbox Code Playgroud)
有关更多信息,请参阅有关导入的kotlin文档.kotlin包总是要导入,显然优先于其他包的类,除非你重命名它们或完全限定它们.
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);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
941 次 |
| 最近记录: |