Во-первых, вы должны определить, необходимы ли точные совпадения или параметры должны содержаться, и в описании может быть дополнительный текст.
Точные совпадения
Для точных совпадений вы можете использовать условие or:
if ( (car.getDescription().equals(description) | car.getDescription().equals(description2) ) && car.getHireDate().equals("") ) {
...
}
Это означает, что если описание точно соответствует description
или description2
, вы получитехит.
В качестве альтернативы вы можете объединить параметры, если знаете порядок:
if ( car.getDescription().equals(description + " " + description2) && car.getHireDate().equals("") ) {
...
}
Это будет соответствовать «Голубому мустангу», но не «Синему мустангу».
При желании вы можете сделать объединенную строку регулярным выражением, чтобы учесть произвольный пробел:
if ( car.getDescription().matches("\\s*\\b" + description + "\\b\\s*\\b" + description2 + "\\b\\s*") && car.getHireDate().equals("") ) {
...
}
Это будет соответствовать "Blue Mustang" и т. Д., Но не "BlueMustang" из-за требований к границе слова ("\\b"
).
Обратите внимание, что существует гораздо больше возможностей, поэтому вы должны сначала определить, как вы хотите сопоставить.
Параметры, содержащиеся
Если вы хотитечтобы получить все описанияЕсли содержит оба параметра, используйте contains(...)
вместо:
if ( car.getDescription().contains(description) && car.getDescription().contains(description2) && car.getHireDate().equals("") ) {
...
}
Обратите внимание, что это также будет соответствовать "Blue Ford Mustang" (параметры "Blue" и "Mustang" являются параметрами).