#java #android
В Java я довольно недавно и еще более недавно - в разработке под Android. Смутил один момент Как задать в методе аргументы со значением по умолчанию? Не очень приятно плодить тонну перегрузок на все случаи жизни.
Ответы
Ответ 1
Такой возможности нет. Для достижения требуемого эффекта делают так: void init(int a, int b, int c) { ... } void init(int a, int b) { // Значение параметра с по умолчанию 10 init(a, b, 10); } void init(int a) { // Значение параметра с по умолчанию 10, b по умолчанию 20 init(a, 20, 10); } То есть перегружают метод несколько раз (для каждого параметра по умолчанию).Ответ 2
Нет, в Java нет возможности задавать значения аргументов методов по-умолчанию. Подобный функционал реализуется применением паттернов Factory и Builder.Ответ 3
Мне, как изначально Java разработчику, сложно представить такой функционал нужен. Иногда я делаю 2, максимум 3 перегрузки и то в основном для конструкторов. Если вам нужна тонна то вы что-то делаете не так. Я не знаю какая у вас задача, но иногда допустимо подставлять значение по умолчанию если аргумент null.
Комментариев нет:
Отправить комментарий