Прежде всего, рассмотрите возможность использования магазина другого типа.
Вот пример, который я собрал, который делает то же самое эффективно, и определенно компилируется и запускается:
import java.util.HashMap;
import java.util.Map;
class ItemMap {
static Map<String, String> statuses = new HashMap<String, String>();
static {
statuses.put("STATUS_NEW", "New");
}
public static String getStatusFromString(String s) {
for (Map.Entry<String, String> e : statuses.entrySet()) {
if (e.getValue().equals(s)) {
return e.getKey();
}
}
return "";
}
}
public class Item {
public static void main(String[] args) {
System.out.printf("Status for 'New': %s%n",
ItemMap.getStatusFromString("New"));
}
}
Изменения, которые я внесу, будут состоять в том, чтобы изменить карту для использования enum вместо String и вернуть enum вместо String. Но это зависит от вас и ваших требований к кодированию.
Этот код определенно работает для меня.