有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java是收集器中的错误报告。toMap()坏了吗?

List<String> strings = Arrays.asList("3","55","3");
Map<String,Integer> map = strings
    .stream()
    .collect(Collectors.toMap(s ->s, s -> s.length()));

返回

java.lang.IllegalStateException: Duplicate key 1

我希望有重复的钥匙3


共 (1) 个答案

  1. # 1 楼答案

    这似乎是JDK 8中的一个错误,但在JDK 9中不再是这样。原因一是我无法在JDK 9上复制它,@zron提供的原因二this link是关于这个问题的,它在JDK 9上得到了修复

    似乎有好几篇关于这个问题的帖子,另一个链接是:

    https://bugs.openjdk.java.net/browse/JDK-8040892

    这篇文章本身就是与其他几篇文章的翻版