En Java, comment pouvez-vous passer un type en tant que paramètre (ou le déclarer en tant que variable)?
Je ne veux pas passer une instance du type mais le type lui-même (par exemple int, String, etc).
En C#, je peux faire ceci:
private void foo(Type t)
{
if (t == typeof(String)) { ... }
else if (t == typeof(int)) { ... }
}
private void bar()
{
foo(typeof(String));
}
Y a-t-il un moyen en Java de le faire sans passer une instance du type t?
Ou dois-je utiliser mes propres constantes int ou enum?
Ou y a-t-il un meilleur moyen?
Modifier : Voici l'exigence pour foo:
En fonction du type t, il génère une chaîne courte, xml différente.
Le code dans le if/else sera très petit (une ou deux lignes) et utilisera quelques variables de classe privées.