1 import java.lang.reflect.Method;
2 import java.lang.reflect.Type;
3 import java.lang.reflect.TypeVariable;
7 import java.util.ArrayList;
9 public class Reflection {
11 class Generic<TUVW,ABCD,KLM,NOP> {
16 private String sampleField;
18 public Generic<Integer,String,Double,Short> setSampleField(List<String> listString, Map<Integer,String> mapString,
19 Generic<Integer,String,Double,Short> test,
20 String sampleField, int one, short two, double three, Object obj) {
21 this.sampleField = sampleField;
26 public String getSampleField() {
30 public void setSampleField(String sampleField) {
31 this.sampleField = sampleField;
34 public List<String> setSampleField(List<String> listString) {
39 public static void main(String[] args) {
41 Method[] methods = SampleClass.class.getMethods();
42 Type[] parameters = methods[0].getGenericParameterTypes();
43 //Type[] parameters = methods[0].getGenericParameterTypes();
44 for (int i = 0; i < parameters.length; i++) {
45 System.out.println(parameters[i]);
48 Class[] parameterTypes = methods[0].getParameterTypes();
49 for(Class parameterType: parameterTypes){
50 System.out.println(parameterType.getName());
54 /*TypeVariable[] typeParameters = Generic.class.getTypeParameters();
55 for(TypeVariable typeVar: typeParameters){
56 System.out.println(typeVar);
59 System.out.println();*/
60 Type returnType = methods[0].getGenericReturnType();
61 System.out.println(returnType);