#java
#java
Вопрос:
Существует ли однострочник для этой функции?
int side = width < height ? width : height;
width = side;
height = side;
Комментарии:
1. Абсолютно не обижаясь на кого-либо из респондентов, которые просто отвечали на вопрос, но я бы не советовал программистам применять эту практику жертвования удобочитаемостью только для сохранения нескольких строк кода. Компиляторы хороши в оптимизации, так что позвольте им делать свою работу, а давайте сосредоточимся на том, чтобы сделать код понятным. И если бы у вас была ситуация, когда вы выполняли такого рода оптимизацию кода, разработчик был бы обязан добавить в код несколько строк комментариев, чтобы прояснить намерение.
Ответ №1:
ширина = высота = width < высота ? ширина : высота;
Ответ №2:
Это возможно:
width = height = width < height ? width : height;
Однако в Java обычно не принято назначать несколько переменных в одной строке.
Ответ №3:
width = height = Math.min(width, height);
Ответ №4:
высота = ширина = width < высота ? ширина : высота;