To add to the other answers, you can put whatever you want in an array of Objects. But if you wish to access any of methods or properties, not shared with Object, that a specific element has, then you have to down-cast it to the needed type as Java will recognise it as type Object - this is something you have to be careful with.
Example:
Object test[];
test = new Object[]{1, 2, "three", new Date()};
System.out.println( ( (Date)test[3] ).getMonth() );
// the above line will output '4', but there will be a compilation error
// if the cast (Date) is emitted