我很感兴趣为什么这段代码会产生语法错误,说 ImmutableMap 无法解析为类型:
ImmutableMap<String, String> advice = ImmutableMap<String, String>.builder()
.put(KEY1, VAL1)
.put(KEY2, VAL2)
.build();
虽然此代码按预期工作:
ImmutableMap<String, String> advice = ImmutableMap.<String, String>builder()
.put(KEY1, VAL1)
.put(KEY2, VAL2)
.build();
这个时期并没有像我的心理模型应该去的那样,我希望有人能解释为什么这个时期的“方法方面”会发生。我正在使用 Guava 的 ImmutableMap,但我认为它并不完全相关。我认为它与泛型有关,但我不确定是什么,我不确定如何搜索以找到更好的答案,因为我不知道这个概念会被称为什么。
编辑:作为参考,ImmutableMap有这一行builder()
public static <K, V> Builder<K, V> builder() {
return new Builder<K, V>();
}