la risposta è in entrambi i casi NI', ovvero sì ma col trucco.
Se i valori sono tutti dello stesso tipo, puoi far tornare un opportuno array di quel tipo.
Se i valori sono di tipo diverso... la strada si biforca in quanto c'è da fare una scelta di costruzione e mi vengono in mente:

- potresti usare un array di Object, nel qual caso, man mano che lo scorri dovrai verificare indice per indice di che tipo vero è l'elemento in questione

- potresti crearti una classe apposita con campi appositi che valorizzerai con quanto intendi ritornare dal tuo metodo.