Se ci spieghi cosa devi fare forse è più facile trovare una soluzione.
Ad ogni modo se le combinazioni (numero parametri / tipo) non sono molte dovresti ricorrere all'overloading dei metodi
public static void metodo1(String prova, int prova2){
}
public static void metodo1(String prova, int prova2, Date date){
}
public static void metodo1(String prova){
}
Oppure puoi passare un array di Object(o meglio ancora usare come dice R@ve M@ster i varargs).. ma ciò ti porterà a effettuare operazioni costose come instanceOf, typeOf casting etc.. per capire in una determinata posizione con quale tipo di parametro hai a chè fare in quanto risolvi il problema del numero di parametri ma non quello del tipo.
Io penso che se l'overloading non và bene bisogna affrontare il problema in un altro modo.