如何组合两个不可变映射<;字符串,字符串>;在Java8中?
我尝试过以下代码:如何组合两个不可变映射<;字符串,字符串>;在Java8中?,java,hashmap,hashtable,immutability,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_passwor
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();
final ImmutableMap map1=ImmutableMap.of(“用户名”、用户名、“电子邮件”、电子邮件1、“A”、“A1”,
“l”、“500L”);
final ImmutableMap map2=ImmutableMap.of(“b”、“真”、“哈希密码”、“12345”、“e”,
“两个”、“假道具”、“假瓦尔”);
final ImmutableMap 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>
错误:(109105)java:不兼容的类型:com.google.common.collect.ImmutableMap无法转换为com.google.common.collect.ImmutableMap
我怎样才能转换它呢?Java类型推断并不总是像我们希望的那样好。有时,您需要提供类型提示,以便it能够解决问题 在您的情况下,需要为ImmutableMap builder方法提供显式泛型类型
ImmutableMap.<String, String>builder()
.putAll(map1)
.putAll(map2)
.build();
ImmutableMap.builder()
.putAll(地图1)
.putAll(地图2)
.build();
put builder的显式泛型ImmutableMap.builder().putAll(map1).putAll(map2).build()
谢谢。我使用了一个额外的点,这给了我语法错误<代码> iMutabLAMAP .<代码> >代码> Bug(),PutALL(MAP1).PUTALL(MAP2)。