Java Treemap 没有正确递增

标签 java

我目前正在尝试为一个工作中的程序编写一个错误记录实用程序,该程序可以自动执行其他产品在多个步骤中执行的任务(它是 Selenium,但我认为这不相关)。

当某个特定任务的步骤失败时,我想确定该步骤,以及它在整个特定任务中失败了多少次(许多步骤是通用的和重复的,例如“向 X 发送消息”、“更新 X 日志”等等)

我面临的问题是,当它计算错误时,它没有正确递增。如果一个步骤失败一次,它将把它记为 1。如果一个步骤失败两次,计数将保持为 1。如果失败 3 次,则计数将增加到 2,如果 4 次,它将增加到3、等等。

这意味着如果一个步骤失败不止一次,我的计数总是减一。
我用于此特定工作的代码是:

int count = map.containsKey(word) ? map.get(word) : 0;
if(word.startsWith("api") && line.contains(date.toString())){
    if (!map.containsKey(word)) {
        map.put(word, 1);
    } else {
        map.put(word, count + 1);
    }
}

如有任何指点,我们将不胜感激。 问候, 注册。

最佳答案

你应该试着把它改成

if (!map.containsKey(word)) {
        map.put(word, 1);
      } else {
        map.put(word, map.get(word) + 1);
      }

变量 count 的值在执行过程中可能会过时。这种问题最适合调试。尝试逐步跟踪 count 的值,这将帮助您确定这个问题。

关于Java Treemap 没有正确递增,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30591860/

相关文章:

java - 在 Windows 上使用 Chef 安装 JDK 1.7 和 Eclipse

java - 如何使用 org.jf.dexlib2 获取 dexfile 中指令的字节码

java - Apache Camel 路由配置中返回 Future 的 Bean 方法

java - iText 编辑或删除 PDF 上的图层

java - 使用不同参数调用 REST WS

java - 无法访问内部类中的LinkedHashMap

java - 如何在具有不同应用程序上下文的相同端口下将两个 Web 应用程序部署在同一个 tomcat 下?

java - "HashMap is not a supported property type"- 使用 Objectify 4 嵌入 map

java - 从Android应用程序响应时间向服务器发送php查询

java - 查找类集合中最近的公共(public)父类(super class)(或超接口(interface))