Существует ли в языке Java аналогичный оператору ?: из языка PHP?

В Java есть аналогичный оператор, называемый условным оператором сокращенного выражения, который имеет такую же логику. Вот пример его использования: 

String x = obj.getStr1() != null ? obj.getStr1() : obj.getStr2();

Это выражение сначала проверяет, не равно ли obj.getStr1() null, и если это так, присваивает x значение obj.getStr1(). В противном случае, если obj.getStr1() равно null, x получает значение obj.getStr2().
  • 9 ноября 2023 г. 11:58
Ответы на вопрос 2
Таким образом, в Java существует аналогичный оператор условного выражения.
Использование оператора "?" в Java ограничено. Он наиболее часто встречается в шаблонизаторе Thymeleaf, который используется в фреймворке Spring для работы с HTML страницами. В Thymeleaf этот оператор называется "оператором Элвиса" и используется для отображения дополнительных навыков преподавателя. Например, в следующем коде: ``, оператор ?: используется для проверки наличия дополнительных навыков и, если они отсутствуют, выводится значение "UNKNOWN".

В Java оператор "?" иногда используется как параметр для коллекций или массивов с неизвестным заранее типом данных. Например, можно объявить список следующим образом: `List`. Однако, в рамках фреймворка Spring, условный оператор не сильно отличается от обычного if/else и лично я не сталкивался с его использованием.
Похожие вопросы