gpt4 book ai didi

java - 为什么在尝试增加值并将其放回 HashMap 时会引发编译错误?

转载 作者:行者123 更新时间:2023-11-29 03:10:19 25 4
gpt4 key购买 nike

在最后一行中,我试图获取值,增加它然后再放回去。问题:

  1. 为什么会引发编译错误“Invalid argument to operation++/--”

  2. 为了增加这个特定示例中的值,是否有更好的方法?

    Map<String, Integer> map = new HashMap<>();
    map.put("hello", 4);
    // we wanna get 4 to increase it
    map.put("hello",++(map.get("hello"))); // Invalid argument to operation ++/--

最佳答案

您只能对变量执行++(不能对任意表达式)。使用 ... + 1 代替:

map.put("hello", map.get("hello") + 1);

或者,如果您使用的是 Java 8:

map.merge("hello", 1, (a,b) -> a + b));

(请注意,Java 没有任何与 C++ 引用相对应的功能。)

关于java - 为什么在尝试增加值并将其放回 HashMap 时会引发编译错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29723472/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com