Mam mapę, która może zawierać jeden z następujących klawiszyJava: jeden z wielu kluczy map
Map<String, String> map = getMap();
teraz chcę sprawdzić, czy jeden z niektórych klawiszy są ustawione. Moje obecne podejście jest łańcuchem wielokrotności map.getOrDefault(...)
Address address = new Address();
address.setStreet(map.getOrDefault("STORE_STREET"
, map.getOrDefault("OFFICE_STREET", ...));
lub sprawdzić dla każdego klawisza, jeśli istnieje na mapie.
if(map.containsKey("STORE_STREET")){
address.setStreet(map.get("STORE_STREET"));
}else if(map.containsKey("OFFICE_STREET")){
address.setStreet(map.get("OFFICE_STREET"));
}
Czy jest jakiś sposób, aby ułatwić/lepiej przeczytać? Niestety mapa jest podana jako taka.
Chcesz przejść przez różne klawisze na mapie, znaleźć i użyć pierwszego zestawu? – Adowrath
'address.setStreet (map.getOrDefault (" STORE_STREET " , map.getOrDefault (" OFFICE_STREET ", ...));' wygląda optymalnie dla mnie – VHS
Co powiesz na kolekcję ciągów takich jak "store_street" itp. przepuszczanie ich podczas sprawdzania includeKey, a następnie ustawienie ich w obiekcie adresu? –