【发布时间】:2020-06-26 12:48:40
【问题描述】:
在 Java 映射中,当我们需要插入一些值时,我们使用:
map.put(key, value);
在其他语言中,例如 C++ 映射或 Python 字典,我们可以使用方括号:
map['key'] = value
此语法对 Java 映射无效。我们可以通过编写一些代码或使用一些库以编程方式更改此语法吗?
【问题讨论】:
-
不,你不能。 Java 不支持运算符重载等。
-
请注意,运算符重载并不是实现这一目标的唯一方法。例如,Scala 具有语法结构,允许您简单地定义(在调用时)看起来类似于语言结构的方法。 (也许有人会说这只是运算符重载的一种极端形式,但我不会这样描述)。
-
如果您使用的是 Java 9 或更高版本,您可以使用 Map 接口中的工厂方法
Map.of来简化不可变映射的创建和初始化。示例:Map<String, String> map = Map.of("key1","value1", "key2", "value2");
标签: java syntax operator-overloading language-design