我有一个方法,该方法具有一个带有一组规则的Map,我试图将这些规则应用于具有if
条件的输入。
当条件匹配时,if将中断循环并返回匹配的值。如果没有条件匹配,我需要返回一个null
输出,表明输入不满足任何给定条件。
我当前的代码如下
public static String matching(String input){
HashMap<String, String> hm = new HashMap<String, String>();
//Key,Value pair in Hashmap represents Name of condition(Key) and Condition(value)
for (Map.Entry mapElement : hm.entrySet()) {
String value = mapElement.getValue();
if(input.equals(condition)){
return input;
break;
}
}
return null;
}
假设地图有5个条目,并且在第5个位置存在满足当前输入的条件。前四个测试返回null
,并且当第5个位置的条件匹配时,它将返回该匹配条件。但是我只想在评估完地图中的所有条件后才返回输出。我尝试将else if
与if
放在循环中,但它给出的结果相同。
请,我该如何解决这个问题?
如果在if中有返回值,则for循环将中断并返回值。相反,如果不满意,则for循环将终止并在循环外返回null值。
一种方法中返回中断功能