【问题标题】:Java 11 Convert List of Strings to Map<UUID,String> [duplicate]Java 11 将字符串列表转换为 Map<UUID,String> [重复]
【发布时间】:2022-01-17 05:49:58
【问题描述】:

我正在尝试将字符串列表转换为 Map,如下所示,但出现编译错误 no instance(s) of type variable(s) K, T exist so that UUID conforms to Function&lt;? super T, ? extends K&gt;,有人可以帮我吗?

List.of("john","jack", "jill")
            .stream()
            .collect(Collectors.toMap(UUID.randomUUID(), name ->name));

【问题讨论】:

  • 你遇到了什么编译错误?
  • no instance(s) of type variable(s) K, T exist so that UUID conforms to Function&lt;? super T, ? extends K&gt;
  • k -&gt; UUID.randomUUID(),而不是UUID.randomUUID()。密钥生成器参数需要一个函数,而不是 uuid。

标签: java collections java-stream java-11


【解决方案1】:
Map<UUID, String> collect = 
        List.of("john", "jack", "jill")
            .stream()
            .collect(Collectors.toMap(k -> UUID.randomUUID(), name -> name));

【讨论】:

  • 您好!欢迎来到!请添加几行解释为什么现有代码不起作用。您做了哪些更改以及它如何修复现有代码。无论它们多么小,它们都会帮助遇到同样问题的其他人。
猜你喜欢
  • 1970-01-01
  • 2020-03-17
  • 1970-01-01
  • 1970-01-01
  • 2018-02-14
  • 2021-04-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多