Próbuję zrobić coś takiego w Javie:Czy istnieje sposób, aby znaleźć typ parametru szablonu (ogólne) w Javie?
public static <T> T foo() {
return (T) bar(T);
}
public static Object bar(Class<?> klaz) {
return klaz.newInstance();
}
ale kod nie skompilować, ponieważ nie może zastąpić T dla klasy <>?.
z konkretną klasą, mogę zadzwonić poprzeczkę jak:
bar(ConcreteClass.class);
Ale sama nie działa T. to znaczy że nie ma czegoś takiego jak T.class
w C#, typeof prac dla obu rodzajów betonu i szablonów. Tak więc, wezwanie do baru byłoby:
bar(typeof(T));
Ale nie udało mi się znaleźć czegoś podobnego w Javie.
Czy czegoś brakuje, czy Java nie ma sposobu na uzyskanie typu parametru szablonu? A jeśli Java nie ma obiektu, czy są jakieś obejścia?