java - 如何在 Java 8 中组合两个 ImmutableMap<String,String>?

标签 java hashmap hashtable immutability

我试过这个代码:

    final ImmutableMap<String, String> map1 = ImmutableMap.of("username", userName, "email", email1, "A", "A1",
            "l", "500L");
    final ImmutableMap<String, String> map2 = ImmutableMap.of("b", "ture", "hashed_passwords", "12345", "e",
            "TWO", "fakeProp", "fakeVal");

    final ImmutableMap<String, String> map3 = ImmutableMap.builder().putAll(map1).putAll(map2).build();

但出现错误:
Error:(109, 105) java: incompatible types: com.google.common.collect.ImmutableMap<java.lang.Object,java.lang.Object> cannot be converted to com.google.common.collect.ImmutableMap<java.lang.String,java.lang.String>

否则我怎么能投呢?

最佳答案

Java 类型推断并不总是像我们希望的那样好。有时,您需要提供类型提示才能解决问题。
在您的情况下,您需要为 ImmutableMap 构建器方法提供显式泛型类型。

ImmutableMap.<String, String>builder()
    .putAll(map1)
    .putAll(map2)
    .build();

关于java - 如何在 Java 8 中组合两个 ImmutableMap<String,String>?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33668278/

相关文章:

java - Tesseract板检测

Java 8 更新 151 还是 152?

java - 检查 hashmap 中的值是否已经存在

java - 是否有解决此错误的方法...Collections 类型中的方法 synchronizedSet(Set<T>, Object) 不可见

powershell - 在 Powershell 的 ForEach-Object 循环中获取当前哈希键

java - 使用单独的映射器、 reducer 和驱动程序类运行 MR 程序

java - 云中的 Kafka 消费者

java - 如何在 jSTL 中迭代将映射作为字段的对象列表?

java - HashMap 返回 Integer 键的错误值

从函数返回的 PowerShell 行为