Форум программистов, компьютерный форум, киберфорум
Java
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.85/160: Рейтинг темы: голосов - 160, средняя оценка - 4.85
31 / 31 / 6
Регистрация: 11.07.2013
Сообщений: 241
1

Возврат нескольких значений из метода

13.08.2013, 09:23. Показов 30647. Ответов 11
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте! Собственно вопрос, какие есть варианты вернуть из метода несколько значений?
На ум приходит только массив.
В C# было слово out.
Допустим, что возвращать хочу примитивные типы, возможно разного типа(массив object[]? ), они между собой довольно независимы
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.08.2013, 09:23
Ответы с готовыми решениями:

Возврат нескольких значений из метода не знаем сколько таких значений
Здравствуйте! Собственно вопрос: как возвращать <несколько> значений из метода если заранее...

Возврат нескольких переменных из метода с async Task
Пытаюсь реализовать возврат двух переменных, компилятор выдает ошибку: Ошибка CS1001 Требуется...

Возврат двух значений из метода
Доброго времени суток, господа. Столкнулся с проблемой: нужно возвратить два значения с одного...

Передача параметров и возврат значений из асинхронного метода
Для примера есть метод, который по замыслу должен в асинхронном режиме возвращать содержимое...

11
154 / 154 / 10
Регистрация: 16.10.2012
Сообщений: 354
Записей в блоге: 1
13.08.2013, 09:32 2
Сделайте класс и верните из метода экземпляр.
3
Заблокирован
13.08.2013, 09:33 3
сделать объект, в котором полями будут все нужные значения и возвращать его?
опоздал немного с ответом
1
31 / 31 / 6
Регистрация: 11.07.2013
Сообщений: 241
13.08.2013, 09:49  [ТС] 4
Цитата Сообщение от Gibby Посмотреть сообщение
Сделайте класс и верните из метода экземпляр.
А это вообще распространенная методика?
0
154 / 154 / 10
Регистрация: 16.10.2012
Сообщений: 354
Записей в блоге: 1
13.08.2013, 09:52 5
Цитата Сообщение от OxomHuK Посмотреть сообщение
А это вообще распространенная методика?
По-моему, это единственно верная методика в 99,9% случаев.
1
2000 / 1427 / 92
Регистрация: 25.11.2010
Сообщений: 3,611
13.08.2013, 12:33 6
Цитата Сообщение от Gibby Посмотреть сообщение
По-моему, это единственно верная методика в 99,9% случаев.
Это единственно верная методика в 100% случаев. Потому что если данные связаны - для них можно сделать отдельный класс. Если не связаны - Вы не должны этого хотеть, т.к. это желание является нарушением SRP.
0
23 / 23 / 7
Регистрация: 21.04.2013
Сообщений: 52
14.08.2013, 09:52 7
Цитата Сообщение от OxomHuK Посмотреть сообщение
возвращать хочу примитивные типы, разного типа, они между собой довольно независимы
чисто теоритически
Цитата Сообщение от verylazy Посмотреть сообщение
сделать объект, в котором полями будут все нужные значения и возвращать его
но из моей куцей практики - можно создать несколько полей класса. метод, который сейчас возвращает примитивы - его сделать так, чтоб вообще ничего не возвращал, а только изменял внутренние переменные класса.
результаты работы метода, соответственно, получать через геттеры. это юзабельно если методы не равнозначные - делают разные вещи и, вероятно, должны быть в разных классах)
0
2000 / 1427 / 92
Регистрация: 25.11.2010
Сообщений: 3,611
14.08.2013, 12:09 8
Цитата Сообщение от Nsbaq Посмотреть сообщение
но из моей куцей практики - можно создать несколько полей класса. метод, который сейчас возвращает примитивы - его сделать так, чтоб вообще ничего не возвращал, а только изменял внутренние переменные класса.
результаты работы метода, соответственно, получать через геттеры. это юзабельно если методы не равнозначные - делают разные вещи и, вероятно, должны быть в разных классах)
Можно. Можно вообще сделать все поля и методы public static и работать с глобальными переменными. Мы обсуждаем все варианты или только правильные? Эти поля класса логически являются частью состояния того класса, в котором реализуется метод?
0
Nsbaq
14.08.2013, 12:28
  #9

Не по теме:

да я с сарказмом) меня привлекли к проекту, где каждый класс начинается с объявления 20и или более переменных, из которых от силы две используются во вне. и ни одну из этих 20и сделать локальными нельзя - все используются по крайней мере в двух методах. и мне говорят, мол, каждый молодой разработчик считает, что сможет сделать лучше) хотя речь не идет и том, чтоб по-другому сделать, а просто уже работающее сделать эффективнее. такие чувства :)

0
kamre
14.08.2013, 19:03
  #10

Не по теме:

Цитата Сообщение от OxomHuK Посмотреть сообщение
Допустим, что возвращать хочу примитивные типы, возможно разного типа
Переходи на Scala:
Java
1
2
3
4
5
  def func(i: Int, d: Double): (Int, Double) = (i + 1, d * 2.5)
 
  val (i, d) = func(1, 2)
 
  print(s"i = $i, d = $d")
i = 2, d = 5.0

0
2586 / 2259 / 257
Регистрация: 14.09.2011
Сообщений: 5,185
Записей в блоге: 18
14.08.2013, 22:04 11
Цитата Сообщение от Nsbaq Посмотреть сообщение
мол, каждый молодой разработчик считает, что сможет сделать лучше)
ага вот так
http://d22zlbw5ff7yk5.cloudfro... cb9e66.gif
0
31 / 31 / 6
Регистрация: 11.07.2013
Сообщений: 241
15.08.2013, 03:16  [ТС] 12
Цитата Сообщение от kamre Посмотреть сообщение
Переходи на Scala:
позвольте хотя бы синтаксис джавы выучить сначала
0
15.08.2013, 03:16
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.08.2013, 03:16
Помогаю со студенческими работами здесь

Возврат нескольких значений в функции
Всем привет. До этого никогда не задавался этим вопросом но сейчас нужно стало. Не пойму никак как...

Возврат нескольких значений из функции
У меня было задание в двух матрицах найти одинаковые элементы вывести их и их индексы. Сделать...

Возврат нескольких значений из функции
Здравствуйте, Подскажите пожалуйста, как можно передать из функции 2 результата, например, в...

Возврат из функции нескольких значений
Дан массив . Выбрать из него положительные элементы и записать в массив A , где k<6; из...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru