1

如果我有这样的地图:

Map<String, int> myMap = Map();

添加键和值:

myMap.putIfAbsent("yolo", 1000);

然后使用像这样的运算符添加一个数字+=

myMap["yolo"] += 100;

使用空安全它会抛出一个错误说

不能无条件调用方法“+”,因为接收者可以为“null”。

在地图中,根据键设置值的最佳方法是什么?

4

1 回答 1

0

预计会出现此错误。如果您的地图不包含带有 key 的条目"yolo",则调用myMap["yolo"] += 100;将导致运行时 null 错误。

如果0是此上下文的合理“默认值”,您可以编写如下内容:

myMap["yolo"] = (myMap["yolo"] ?? 0) + 100;
于 2021-03-13T00:18:51.873 回答