gpt4 book ai didi

kotlin - 如何在Kotlin中覆盖HashMaps entrySet方法?

转载 作者:行者123 更新时间:2023-12-02 13:07:51 25 4
gpt4 key购买 nike

我想将Java类从此Retrofit — Multiple query parameters of same name where name is set dynamically转换为kotlin。

public class ProxyRetrofitQueryMap extends HashMap<String, Object> {
public ProxyRetrofitQueryMap(Map<String, Object> m) {
super(m);
}

@Override
public Set<Entry<String, Object>> entrySet() {
Set<Entry<String, Object>> newSet = new HashSet<>();

return newSet;
}

}

转换无济于事,它使Platform声明发生冲突。我想手动创建从HashMap扩展的Kotlin类,但是该类没有entrySet()函数。该怎么办?

最佳答案

使用kotlin.collections.HashMapjava.util.HashMap时,可通过其 entrySet() 属性访问entries函数,您可以像这样重写该属性:

class ProxyRetrofitQueryMap : HashMap<String, Any>() {
override val entries: MutableSet<MutableMap.MutableEntry<String, Any>>
get() {
val newSet = HashSet<MutableMap.MutableEntry<String, Any>>()

return newSet
}
}

您可以通过在代码中使用它,然后在IDE中导航到其声明来确认该属性映射到原始函数。不幸的是,文档似乎没有明确声明这种行为,或者至少我找不到它。

关于kotlin - 如何在Kotlin中覆盖HashMaps entrySet方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58263796/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com