Объясните, пожалуйста, почему именно Object [] peopleArray = people.toArray(); почему не могу использовать String, int и т.д. Эта часть кода непонятна

public class HelloWorld{

     public static void main(String []args){
        ArrayList<String> people = new ArrayList<String>();
      
        people.add("Tom");
        people.add("Alice");
        people.add("Kate");
        people.add("Sam");
        people.add(1, "Bob"); 
          
        System.out.println(people.get(1));
        people.set(1, "Robert"); 
          
        System.out.printf("ArrayList has %d elements \n", people.size());
        for(String person : people){
          
            System.out.println(person);
        }
    
        if(people.contains("Tom")){
          
            System.out.println("ArrayList contains Tom");
        }
          
       
        people.remove("Robert");
    
        people.remove(0);
          
        Object [] peopleArray = people.toArray();
        for(Object person : peopleArray){
          
            System.out.println(person);
        }
    }
}

Ответы (1 шт):

Автор решения: had0uken

Можно и Стринг использовать:

 String [] array = people.toArray(new String[0]);

У интерфейса List есть две версии метода toArray - вы воспользовались первой в своем коде. Я второй - в своей строке кода.

 Object[] toArray(); //вариант 1
 T[] toArray(T[] a); //вариант 2

Можно еще так:

    String [] array = (String[])people.toArray(); 
→ Ссылка