java - 如何在任何 Java map 实现上测试空键?

标签 java collections

我想确保作为参数传递给方法的 Map 不包含空键。人们会假设以下会做:

if ( map.containsKey(null) ) …

但是如果方法传递的是类似 TreeMap 的东西,那将会中断,根据一般的 Java Map 契约是 free to reject null keys with a NPE .

在接受任何 Map 实现时,我们是否有一种明智的方法来测试空键?

最佳答案

boolean hasAnyNull = yourMap.keySet()
      .stream()
      .anyMatch(Objects::isNull);

关于java - 如何在任何 Java map 实现上测试空键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52275537/

相关文章:

java.lang.IllegalStateException fragment 未附加到 Activity

java - 我正在尝试删除 +911111 之类的通话记录,但它不起作用

java - 删除数组列表中的所有其他元素

java - 使 ArrayList 只读

java - 获取错误 : Comparison method violates its general contract

java - 如何执行从 wildfly 公开为 REST 服务的非常繁重的进程?

Java 2D 数组双三次插值

java - 摆脱 Collections.unmodifyingList() 产生的警告

java - 迭代具有相同属性的输入对象集合 : Java Selenium Webdriver

java - 实现java集合不丢失信息