gpt4 book ai didi

android - 比较 android Intent 对象

转载 作者:太空狗 更新时间:2023-10-29 16:23:38 24 4
gpt4 key购买 nike

我有 2 个 android intent 对象,它们可以作为 URL 持久化,然后重新组合成 intent 对象。我想知道比较任何 2 个 Intent 对象以确保它们最终解析为具有相同参数等的相同 Activity 的最有效方法是什么。使用 intent.filterEquals 可以做到这一点,但确实如此不包括额外费用。

目前我的 equals 方法代码如下所示:

            Intent a = Intent.parseUri(this.intentUrl,
Intent.URI_INTENT_SCHEME);

Intent b = Intent.parseUri(other.intentUrl,
Intent.URI_INTENT_SCHEME);
if (a.filterEquals(b)) {
if (a.getExtras() != null && b.getExtras() != null) {
for (String key : a.getExtras().keySet()) {
if (!b.getExtras().containsKey(key)) {
return false;
} else if (!a.getExtras().get(key)
.equals(b.getExtras().get(key))) {
return false;

}
}
}
// all of the extras are the same so return true
return true;
} else { return false; }

但是有更好/更清洁的方法吗?

最佳答案

这可能已经很好了,至少在概念上是这样。但是,我认为您的算法不涵盖 b 具有 a 没有的 key 的情况。

我将获得两个 keySet() 值并对它们运行 equals() 以确认它们具有相同的键。然后,迭代一个并在值对上运行 equals()

关于android - 比较 android Intent 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7985227/

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