Les médicaments génériques en Java sont généralement plus puissant que dans C#.
Si vous voulez construire un objet, mais sans brancher un constructeur/méthode statique, utilisez un résumé de l'usine. Vous devriez être capable de trouver des informations détaillées et des tutoriels sur le Résumé de l'Usine Modèle de base des modèles de conception de livre, introduction à la programmation orientée objet ou tous sur les interwebs. Il n'en vaut pas la duplication de code ici, sauf pour mentionner que Java est la fermeture de la syntaxe suce.
IIRC, C# est un cas spécial pour la spécification d'un type générique aucun des arguments du constructeur. Cette irrégularité, par définition, suppose que le code client veut utiliser cette forme particulière de la construction et encourage la mutabilité.
À l'aide de la réflexion, pour ce est tout simplement inefficaces. Les médicaments génériques en Java sont un moment de la compilation, la statique-saisie. Il tente de les utiliser lors de l'exécution sont une indication claire de quelque chose qui va pas. La réflexion causes verbose code, la durée d'exécution des échecs, non les dépendances et les vulnérabilités de sécurité. (Class.forName
est particulièrement mal.)