HashMap ContainsKey vs contains

时间:2014-11-04 14:35:46

标签: java string hashmap

我的情况如下。

我有一个带有foll的实用程序类。方法

public static Map<String, String> getFeeList() {
        Map<String, String> map = new HashMap<String, String>();
        map.put("Student Lists", "Student List");
        map.put("Student grade", "Student Grade");
        return map;
    }

我在JSP中调用此方法,并将其与另一个值(如下所示)进行对比,

下面的feeListsMap只是class.getFeeList()设置为在JSP中请求和恢复。

<% if(feeListsMap.containsKey(vo.getSubClassDesc())){%>
<td align="center">0</td>       
<%}else{%>
<td align="center">TEST</td>        
<%}%>

从上面vo.getSubClassDesc()可能包含一些后缀,如“截至今天的学生列表”,“截至上个月的学生列表”.... 但是上面的JSP检查只会检索确切的密钥值,并且不适用于“截至今天的学生列表”,“截至上个月的学生列表”。 我不想在这里使用子字符串,因为地图可能包含更多的键值对,我不想一直使用子字符串。 有没有一种简单的方法可以将键值与类似于String contains()的subClassDesc进行比较?

1 个答案:

答案 0 :(得分:0)

在内置的java类中没有直接的方法。你必须

vo.getSubClassDesc().contains(key)

通过循环feeListsMap对象key s。