import com.google.common.reflect.TypeToken;
public class GenTyRefDemo<T> {
private TypeToken<T> typeToken;
public GenTyRefDemo() {
typeToken = new TypeToken<T>(getClass()) {};
}
public TypeToken<T> getTypeToken() {
return typeToken;
}
}
public class Main {
public static void main(String[] args) {
GenTyRefDemo<String> demo = new GenTyRefDemo<String>() {};
TypeToken<String> typeToken = demo.getTypeToken();
System.out.println(typeToken.getType());
}
}
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>30.1-jre</version>
</dependency>