首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带通配符的番石榴Maps.difference

带通配符的番石榴Maps.difference
EN

Stack Overflow用户
提问于 2021-10-08 10:22:15
回答 1查看 215关注 0票数 1

我想在java 11中使用番石榴的Maps.difference来验证Json字符串中的数据,我将Json字符串映射到一个Map中。

我在打完电话后(每次都有不同的uid ):

代码语言:javascript
复制
{"uid":"31a340bc-e5ed-440c-8726-34c54dea902a","name":"Jean"}

我想验证是否正确地生成了uid,并且使用如下模式命名为"Jean“:

代码语言:javascript
复制
{"uid":"*","name":"Jean"}

当然,Maps.difference返回uid值的差异..。

是否可以在我的验证模式中指定通配符,以便Maps.difference不返回任何差异?

提前谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-10-08 10:28:35

假设你指的是番石榴的Maps.difference:是的,使用difference(left, right, valueEquivalence) overload

代码语言:javascript
复制
Maps.difference(left, right, new Equivalence<String>() {
  @Override public boolean doEquivalent(String a, String b) {
    return "*".equals(a) || "*".equals(b) || Objects.equals(a, b);
  }

  // You have to hash all strings to the same thing because you
  // don't know if the current item is a "*", or its corresponding
  // item is a "*". But actually it doesn't matter, because I don't
  // think it's invoked in difference.
  @Override public int doHash(String s) { return 0; }
});
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69494309

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档