Comment puis-je créer un nouvel objet de type générique?

J'ai cette classe:

public class A<T> {
   protected T something = new T();
   ...
}

Bien sûr new T() n'est pas possible. Que puis-je faire à la place?

Je ne dois pas modifier le code où le constructeur de cette classe est appelée, parce que cela se fait via la réflexion.

Annother problème est de savoir comment obtenir l'objet de Classe d'une classe générique. mymethod(A.class) travaillé, mais à présent, il a obtenu le paramètre T.

  • C'est très ouvert. Pouvez-vous fournir plus d'informations à propos de ce que vous essayez d'accomplir?
  • Il est possible de déterminer le type de paramètre passé à Une au moment de l'exécution, sans explicitement le passage de la classe à Un constructeur. Mais comme les autres l'ont demandé, pourquoi voudriez-vous vraiment envie de le faire lorsque vous n'en avez pas besoin?
  • (C'est source de confusion que la question utilise un nom de classe qui correspond en fait à la convention pour un paramètre générique nom, en particulier dans la question implique de génériques.)
  • -1 Veuillez indiquer toutes les exigences pour les réponses à l'intérieur de la question. J'ai lu ci-dessous que vous n'êtes pas autorisé à modifier le code où le constructeur est appelé. Quoi d'autre vous n'êtes pas autorisé à changer?
  • A voté pour les fermer. Malheureusement, c'est ce qui arrive lorsque vous posez une question et de laisser de côté un élément essentiel de l'information. Maintenant, cette question est plus sur la première page et personne ne leur accorde de l'attention à elle. L'voté les réponses ont été tout à fait correct compte tenu de l'information à l'époque. Votre meilleur pari est de près à cette question ou à accepter la meilleure réponse. Ensuite, demandez à nouveau avec vos exigences énoncées à l'avant.
InformationsquelleAutor yoooshi | 2012-02-22