java - .Equals() 在迭代 HashMap 时不起作用

标签 java

enter image description here我有一个 HashMap ,我需要将字符串数组的值与某些字符串进行比较并删除那些相等的值。在本例中,我知道某个索引处的 String [] = "RES",但是当我迭代 if(相等)语句时,每次都会返回 false。在简单地扩展 hashmap 时,我是否需要担心覆盖 .equals() ? if 语句有什么问题?

public void filter(){
    Iterator<Map.Entry<String, String[]>> iter = this.entrySet().iterator();
    while(iter.hasNext()){
        Map.Entry<String,String[]> entry = iter.next();
        String[] current = entry.getValue();
        if(current[0].trim().equalsIgnoreCase("RES")){  
            this.remove(entry.getKey());
        }          
    }
}

最佳答案

替换:

this.remove(entry.getKey());

与:

iter.remove();

关于java - .Equals() 在迭代 HashMap 时不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39963165/

相关文章:

java - Oracle ATG和Struts之间的区别?

java - 非军事时间中的 JFreeChart TimeSeries 轴

java - 从 SAP 获取数据时 MySQL 服务器版本中的 SQL 语法错误

java - 在 GregorianCalendar ArrayList Java 中添加日期元素

javascript - Java 和 JavaScript 之间交换 `Date` 的最佳实践,考虑 DST

java - 使用 izpack 进行校验和或签名安装

java - 服务器发送事件 HTML5 错误(此 url 中的资源不是文本)

java - Eclipse rcp 导出产品抛出 NullPointerException

java - OpenGL绘制三角形不显示+ glClearColor不设置屏幕颜色

java - 如何在java或android中读取unicode "\u1f40d"?