Проверка класса передана параметризованной функции
Есть ли способ проверить, какой класс вы передали параметризованной функции, используя что-то вроде instanceof? В некотором смысле этот вид поражает цель (я понимаю), но мне было интересно, возможно ли что-то подобное.
public static <T> List<T> foo(String parseMe) {
List<T> lst = new ArrayList<T>();
if (T instanceof Type1) {
...
} else if (T instanceof Type2) {
...
} else {
...
}
return lst;
}