gpt4 book ai didi

android - 检查两个 Bundle 对象在 Android 中是否相等?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:16:46 28 4
gpt4 key购买 nike

我想检查两个包是否相等,有什么方法可以做到这一点,而不是逐个键地检查它们吗?

最佳答案

这是一种测试两个 Bundle 是否相同的方法:

  • 检查它们的大小,如果它们不相等,请不要打扰
  • 如果两个值都是 Bundle 对象使用递归
  • 因为 one 中键的值可以是 null,所以确保两个值都是 null 并且键 实际上存在于两个
  • 最后比较匹配键的值

代码:

public boolean equalBundles(Bundle one, Bundle two) {
if(one.size() != two.size())
return false;

Set<String> setOne = new HashSet<>(one.keySet());
setOne.addAll(two.keySet());
Object valueOne;
Object valueTwo;

for(String key : setOne) {
if (!one.containsKey(key) || !two.containsKey(key))
return false;

valueOne = one.get(key);
valueTwo = two.get(key);
if(valueOne instanceof Bundle && valueTwo instanceof Bundle &&
!equalBundles((Bundle) valueOne, (Bundle) valueTwo)) {
return false;
}
else if(valueOne == null) {
if(valueTwo != null)
return false;
}
else if(!valueOne.equals(valueTwo))
return false;
}

return true;
}

关于android - 检查两个 Bundle 对象在 Android 中是否相等?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13234994/

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