transform list to array
I think, as per your solution, in every case you'll get a list of objects not the list of actual class you need. If you want to use this array you have to cast the object to your desired class. To do that you have to check if you can cast the object to your desired class as the down casting can cause error if you don't use instanceOf. 
In short you have to do all this by your self every time you want to use this method for any kind of list. On the other hand the generic code will always return you the array of your class not object.  I think the generic code has 2 advantage over your code which are:


No casting needed 
Can be used any where with any kind of list.