Можно ли улучшить(упростить) данную конструкцию тернарным оператором?
if (isLeftLetter && isRightLetter) {
swap(chars, leftElementIndex, rightElementIndex);
leftElementIndex++;
rightElementIndex--;
} else {
if (!isLeftLetter) {
leftElementIndex++;
}
if (!isRightLetter) {
rightElementIndex--;
}
}
Я бы написал так:
if (isLeftLetter && isRightLetter) {
swap(chars, leftElementIndex, rightElementIndex);
leftElementIndex++;
rightElementIndex--;
} else {
leftElementIndex=(!isLeftLetter) ? leftElementIndex+1 : leftElementIdex;
rightElementIndex=(!isRightLetter) ? rightElementIndex+1 : rightElementIdex;
}
Update
Тернарный оператор удобно использовать для однострочных присвоений, а ля:
var=(condition) ? expression1 : expression2;
в остальных вариантах, я лично не рекомендую (верю, что некоторые не согласятся)
(isLeftLetter && isRightLetter) ?
(swap(chars, leftElementIndex, rightElementIndex), leftElementIndex++, rightElementIndex--) :
(
(!isLeftLetter) ? leftElementIndex++ : leftElementIndex,
(!isRightLetter) ? rightElementIndex-- : rightElementIndex
);
Все же нежелательно использовать данную конструкцию. Как видите читаемость стала лишь сложнее. Но если это Ваш личный проект и Вы сами его поймете, то дело Ваше.
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Виртуальный выделенный сервер (VDS) становится отличным выбором
Расскажите пожалуйста, как реализована потоковая модель в NIO2? Правильно ли я понимаю, что при инициализации (или первом установке Callback) создается...
Подскажите пожалуйста как получить Public ECDSA Key из Private ECDSA Key на Java AndroidИспользую org
ЗдравствуйтеИмеется галерея модальных окон Magnific Popup