Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Вызов метода / 10 сообщений из 10, страница 1 из 1
20.04.2018, 16:48
    #39633877
bulbasaur1337
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов метода
Привет, подскажите пожалуйста, можно ли как-то аккуратнее сделать?

Код: java
1.
2.
3.
public String method(String param1, int param2, int param3) {
    return method2(param1, param2, param3);
}
...
Рейтинг: 0 / 0
20.04.2018, 17:25
    #39633905
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов метода
Зависи от того зачем у вас такой метод и что именно вас не устраивает.
...
Рейтинг: 0 / 0
21.04.2018, 00:29
    #39634035
andreykaT
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов метода
а что здесь не так (если опустить вопросы нейминга)? методы и методы.
...
Рейтинг: 0 / 0
21.04.2018, 14:21
    #39634115
chpasha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов метода
andreykaTа что здесь не так
вангую: ТС не нравится (относительно) большое кол-во параметров, которые еще и прокидываются от метода к методу.
...
Рейтинг: 0 / 0
21.04.2018, 16:29
    #39634153
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов метода
Вангую что проблема на самом деле другая. Но если автора тревожит 3 аргумента то можно сделать varargs:
Код: java
1.
2.
3.
public String method(Object... args) {
    return method2(args);
}
...
Рейтинг: 0 / 0
21.04.2018, 17:13
    #39634168
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов метода
Если проблема в количестве параметров, то их объединяют в класс.
Если проблема в передаче параметров по всему стеку в кучу методов, то можно сложить их в ThreadLocal, но надо быть аккуратным.
Если проблама в делегировании кучи методов то можно взять прокси. Но тут делегата не видно, метод того же класса, что удивляет.
...
Рейтинг: 0 / 0
21.04.2018, 18:13
    #39634175
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов метода
Еще вариант. С Apache Commons Tuple. Более жесткий. С фиксированным количеством аргументов но класс аргумента - анонимный.

Код: java
1.
2.
3.
4.
5.
public String method(Triple<String,Integer,Integer> args) {
    return method2(args);
}
// Call
method(new MutableTriple("Arg1",2,3));



В некоторых языках ФП tuple - элемент синтаксиса языка.
...
Рейтинг: 0 / 0
22.04.2018, 15:53
    #39634354
bulbasaur1337
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов метода
chpashaandreykaTа что здесь не так
вангую: ТС не нравится (относительно) большое кол-во параметров, которые еще и прокидываются от метода к методу.
Совершенно верно!
Вот я и хочу от этого избавиться.
Спасибо всем за помощь!
...
Рейтинг: 0 / 0
22.04.2018, 16:47
    #39634366
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов метода
bulbasaur1337chpashaпропущено...

вангую: ТС не нравится (относительно) большое кол-во параметров, которые еще и прокидываются от метода к методу.
Совершенно верно!
Вот я и хочу от этого избавиться.
Спасибо всем за помощь!
передавайте всё через класс как один параметр.
Код: java
1.
МетодВыполнить(КлассКучаПараметров)


Будет один параметр, но зато ничего не видно и не контролируется.
Есть плюсы и минусы каждого подхода.
...
Рейтинг: 0 / 0
22.04.2018, 18:35
    #39634379
bulbasaur1337
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов метода
Petro123bulbasaur1337пропущено...

Совершенно верно!
Вот я и хочу от этого избавиться.
Спасибо всем за помощь!
передавайте всё через класс как один параметр.
Код: java
1.
МетодВыполнить(КлассКучаПараметров)


Будет один параметр, но зато ничего не видно и не контролируется.
Есть плюсы и минусы каждого подхода.
Да, вот именно так и поступлю! Спасибо :)
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Вызов метода / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]