当前位置: 首页 > 面试题库 >

返回默认值而不是null的Java Map实现

辛龙野
2023-03-14
问题内容

Map<String, List<String>>我的代码中有一个,如果地图的#get()方法返回的是空列表而不是空值,则应避免使用空指针。java
API中是否有类似的东西?我应该延长HashMap吗?


问题答案:

@Jon的答案是直接处理您所要询问的好方法。

但是令我惊讶的是,您可能要实现的是“多图”;即从键到值集合的映射。如果是这种情况,那么您还应该查看Guava或Apache
commons集合中的multimap类。

看着:

  • com.google.common.collect.Multimap界面和它的实施方式中,或
  • org.apache.commons.collections.MultiMap界面和它的实现。
  • org.apache.commons.collections4.MultiMap界面和它的实施方式中(先前multimap中的一个新版本;在V4中引入)。


 类似资料:
  • MapStruct版本:1.4.1.Final 当我试图将一个整数映射到bean时,当整数为空时,目标仍然被创建为默认对象而不是空 生成的代码 编辑:与https://github.com/mapstruct/mapstruct/issues/1166#issuecomment-353742387

  • 我在MySQL数据库中有一个表,其中包含一个默认值的列,在数据库端使用phpMyAdmin定义。当我使用HiberNate插入新行时,我得到这个错误: 通用域名格式。mysql。jdbc。例外。jdbc4。MySQLIntegrityConstraintViolationException:列“status”不能为null 我还需要做些什么来使用默认值吗? 实体

  • 我对Liquibase有点陌生。我遇到了一个场景,在一个中,它试图首先添加默认值,而不是旁边的空约束。 但这里的问题是两者都

  • 代码段用于获取从文本文件中提取的一行文本,将其分离为单独的标记,并将每个标记存储在数组的索引中。起初我以为问题出在文本文件上,但是直接将字符串放入编辑器并不能解决这个问题。 使用字符串,如: 带分隔符的StringTokenizer对象返回前四个标记作为正确的字符串,但其余四个标记为null。 有趣的是,另一个字符串: “Gnollnonegeralany222taunttaunt” 鸡肉没有野兽

  • 问题内容: 我希望模仿允许用户指定“默认”返回值的内置函数(如)的行为。我最初的尝试是这样做 问题是,如果用户希望成为其返回值,则此函数将引发异常。第二次尝试: 这解决了上述问题,并允许用户指定任何任意值,但是带来了麻烦,因为用户必须始终在其函数调用中进行指定;他们不能只提供最后。同样,可以使用,但如果用户偏爱该语法,则会阻止用户使用。 结合并提供了可行的解决方案,但感觉这需要付出很多努力。它还可

  • 问题内容: 我正在使用Oracle 11GR2,并且当varchar2字段为空时,在空字段上执行a 将显示在我的Eclipse控制台上。如何让它显示空字符串呢? 问题答案: 你的getter方法: