Как я могу вернуть массив объектов в Java? - PullRequest
3 голосов
/ 01 апреля 2010

Как мне вернуть массив объектов в Java?

Ответы [ 7 ]

10 голосов
/ 01 апреля 2010

Ну, на самом деле вы можете только вернуть массив ссылок на объекты - никакие выражения в Java фактически не оценивают сами объекты. Сказав это, вернуть массив ссылок на объекты легко:

 public Object[] yourMethod()
 {
     Object[] array = new Object[10];
     // Fill array
     return array;
 }

(Чтобы быть крайне педантичным, вы возвращаете ссылку на массив ссылок на объекты.)

6 голосов
/ 01 апреля 2010
public Object[] myMethod() {
  Object[] objectArray = new Object[3];
  return objectArray;
}

Достаточно просто, правда.

3 голосов
/ 01 апреля 2010

Ответы, опубликованные ранее, решают вашу проблему совершенно ... так что просто ради другого выбора ... я предлагаю вам использовать List: может быть ArrayList<Object>, поэтому он может выглядеть как:

public List<Object> getListOfObjects() {
   List<Object> arrayList = new ArrayList<Object>();
   // do some work
   return arrayList;
}

Удачи;

1 голос
/ 01 апреля 2010

Какая структура данных у вас есть?

  • Если это массив - просто верните его.
  • Если это Коллекция - используйте toArray() (или предпочтительно toArray(T[] a)).
0 голосов
/ 27 апреля 2016

попробуйте

public ArrayList<ObjectsType> fName(){
   ArrayList<ObjectsType>objectsList=new ArrayList<>();
   objectList.add(objets);
   return objectList;
}
0 голосов
/ 01 апреля 2010

Попробуйте следующий пример,

public class array
{
  public static void main(String[] args)
  {
    Date[] a = new Date [i];

    a[0] = new Date(2, "January", 2005);
    a[1] = new Date(3, "February", 2005);
    a[2] = new Date(21, "March", 2005);
    a[3] = new Date(28, "April", 2005);

    for (int i = a.length - 1; i >= 0; i--) 
    {
      a.printDate();
    }
  }
}

class Date
{
  int day;
  String month;
  int year;

  Date(int d, String m, int y)
  {
    day = d;
    month = m;
    year = y;
  }

  public void printDate()
  {
    System.out.println(a[i]);
  }
}
0 голосов
/ 01 апреля 2010

Возвращение массива объектов было объяснено выше, но в большинстве случаев вам это не нужно. Просто передайте свой массив объектов методу, измените его, и он отразится в вызываемом месте. В Java нет передачи по значению.

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