salve a tutti,

per quale ragione non si puo' trasformare una lista di Object in una lista di stringhe???

ecco il codice che da' l'errore:

codice:
List list = new ArrayList();
	
	list.add("2009");
	list.add("2010");
	list.add("2000");
	list.add("1999");
	String[] c=new String[15];
	c[0]="TRE";
	
	String[] listino=(String[])list.toArray();
	for (String oggettino : listino){
		System.out.println("oggettino    =   "+oggettino);
		
	}
Exception in thread "main" java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to [Ljava.lang.String;

ecco un codice un pochino diverso ma che non da' nessuna eccezione
codice:
List list = new ArrayList();
	
	list.add("2009");
	list.add("2010");
	list.add("2000");
	list.add("1999");
	String[] c=new String[15];
	c[0]="TRE";
	
	String[] listino=(String[])list.toArray(new String[0]);  // cast giusto
	for (String oggettino : listino){
		System.out.println("oggettino    =   "+oggettino);
		
	}
come mai?
c'è un modo diverso di convertire una lista di oggetti x in una array di sottoggetti x ???