似乎您想要根据特定模式查找地图密钥.这可以通过迭代所有键来完成:
private static String PREFIX = "";
private static String SUFFIX = "";
public static String extractJobId(Map map) {
for(String key : map.keySet()) {
if(key.startsWith(PREFIX) && key.endsWith(SUFFIX))
return key.substring(PREFIX.length(), key.length()-SUFFIX.length());
}
// no job_id found
return null;
}
如果您可能有多个job_id键并想要检查它们是否全部相同,则可以构建一个中间集:
public static Set extractJobIds(Map map) {
Set result = new HashSet<>();
for(String key : map.keySet()) {
if(key.startsWith(PREFIX) && key.endsWith(SUFFIX))
result.add(key.substring(PREFIX.length(), key.length()-SUFFIX.length()));
}
return result;
}
现在您可以使用此方法来比较不同地图的job_id:
if(Objects.equals(extractJobIds(xmlFileMap), extractJobIds(compareMap))) {
// ...
}