J'ai la classe suivante, j'ai besoin de taper dans le constructeur, comment puis-je faire cela?Obtenir le type à partir du nom de la classe avec les génériques Java
public abstract class MyClass<T> {
public MyClass()
{
// I need T type here ...
}
}
EDIT:
Voici exemple concret ce que je veux atteindre:
public abstract class Dao<T> {
public void save(GoogleAppEngineEntity entity)
{
// save entity to datastore here
}
public GoogleAppEngineEntity getEntityById(Long id)
{
// return entity of class T, how can I do that ??
}
}
Ce que je veux faire est d'avoir cette classe étendue à tous les autres OTI, parce que d'autres OTI ont certaines requêtes qui sont spécifiques à ces daos et ne peuvent pas être générales, mais ces requêtes simples devraient être généralement disponibles pour toutes les interfaces/implémentations DAO ...
Cela dépend de ce que vous voulez faire avec. Voulez-vous instancier un T? Voulez-vous appeler une autre fonction avec un T? – dplass
J'ai dao que tous les autres daos étendent, donc ce dao étendu aura une opération de base qui peut être identique pour tous les daos, donc je dois connaître la classe où les objets résultants doivent être mappés – newbie
Je ne suis pas sûr de comprendre, mais depuis vous avez T, vous pouvez le "mapper" dans les diverses autres méthodes de votre DAO, par exemple, T faireQuelque chose (T obj) – dplass