Object[]
- это, в основном, просто массив объектов (за лучшее объяснение здесь, пожалуйста, ----> ☐)
Шутки в сторону, в Java любой объект является производным от класса Object
, поэтомув основном этот массив может хранить любой объект любого класса.Это в основном полезно, когда вы просто хотите переносить экземпляр (или несколько экземпляров) разных классов, но тип указанного экземпляра не важен.
Допустим, у вас есть несколько классов, которые не обязательно связаны:
Class Dog {
String name;
public Dog(String name) {
this.name = name
}
public String toString() {
return "Hello! I am a dog called " + this.name;
}
}
Class Refrigerator {
public Refrigerator() {
}
public String toString() {
return "I am a refrigerator";
}
}
Поскольку оба класса неявно получены из Object
, а Object
реализует метод toString()
, вы можете переопределить этот метод в обоих ваших объявлениях классов.
Затем вы можете сохранить любой их экземпляр в Object
и вызвать метод toString()
, например, так:
Dog myDog = new Dog("Spike");
Object anyObject = myDog;
System.out.println(anyObject.toString()); //would print the result of your "toString()" method in the Dog class :
//"Hello! I am a dog called Spike"
Refrigerator myFridge = new Refrigerator();
Object secondObject = myFridge;
System.out.println(secondObject.toString()); //would print the result of your "toString()" method in the Refrigerator class :
//"I am a refrigerator"
Это позволяет вам создать метод, который принимает любой объект и обрабатывает ихто же самое и назначьте любой объект в аргументе:
public void printWhatYouAre(Object o) {
System.out.println(o.toString());
}
public void doingSomething() {
Dog myDog = new Dog("Spike");
Refrigerator myFridge = new Refrigerator();
printWhatYouAre(myDog);
printWhatYouAre(myFridge); //would print the same as above
}
В вашем случае, ваш метод должен только переставить массив, что означает, что ему даже не нужен метод toString, и при этом он не должен знатьчто за объектыПросто нужно сохранить массив чего-либо в другом массиве чего-то в другом порядке.
Здесь - хорошее чтение о полиморфизме в Java, который в основном применим влюбой язык, но используемые примеры написаны на Java. Весь сайт на самом деле является довольно хорошим справочником, поэтому стоит взглянуть, особенно на те ООП-разделы, которые больше всего связаны с вашим постом.;)