«троичное выражение» x ? y : z
может использоваться только для условного присваивания .То есть вы могли бы сделать что-то вроде:
String mood = inProfit() ? "happy" : "sad";
, потому что троичное выражение возвращает что-то (типа String
в этом примере).
Это на самом деле не должно использоваться каккороткий, в линию if-else
.В частности, вы не можете использовать его, если отдельные части не возвращают значения или возвращают значения несовместимых типов.(Таким образом, хотя вы могли бы сделать это, если оба метода возвращали одно и то же значение, вы не должны вызывать его только для целей побочного эффекта).
Так что правильный способ сделатьэто будет просто с блоком if-else:
if (jXPanel6.isVisible()) {
jXPanel6.setVisible(true);
}
else {
jXPanel6.setVisible(false);
}
, который, конечно, можно сократить до
jXPanel6.setVisible(jXPanel6.isVisible());
Оба эти последних выражения, для меня, более читабельны в этомони более четко сообщают, что вы пытаетесь сделать.(И, между прочим, вы ошиблись в своих условиях? Похоже, что в любом случае это не запрет, а переключение).
Не перепутайте низкое количество символов с удобочитаемостью .Ключевым моментом является то, что легче всего понять;и легкое неправильное использование языковых функций - это определенный способ сбить с толку читателей или, по крайней мере, заставить их сделать двойной умственный вывод.