У меня есть функция readData()
, которая считывает файлы a, возвращает несколько разных объектов анализируемых данных. Прямо сейчас, возвращаемый тип readData()
является Object[]
:Java: Использование одной функции для возврата нескольких различных типов значений
Object[] data = readData();
MyGenome genome = data[0];
Species[] breeds = data[1];
//etc
Это чувствует себя неловко. Есть ли лучший способ вернуть эти данные? Я не хочу иметь отдельные функции, такие как readGenome()
и readSpecies()
, потому что это потребует повторного итерации файлов в два раза. Кроме того, я бы предпочел бы завершить все сбор данных в одной функции.
Аналогичная проблема: функция, которая возвращает матч не менее четырех символов между двумя строками:
public int[][] findMatch(String g0, String g1) { /* cool stuff */ }
//...
int[][] bounds = findMatch("ACOIICOCOCICOICA", "AOCCCCCCICCIIIIIOIAOCICOICOICA");
где bounds[0][0]
есть левая граница g0, bounds[0][1]
является правильным ограничение на g0, bounds[1][0]
является левая граница на g1 и т. д. Это также кажется неудобным. Трудно закодировать результат без постоянного поиска ключей.
Является ли порядок объектов в вашем файле одинаковым? Как один геном, затем 5 видов? Или это от чего-то зависит? Откуда вы знаете, что данные [0] - это MyGenome, а данные [1] - виды –