1 import java.lang.reflect.Method;
2 import java.lang.reflect.Type;
3 import java.lang.reflect.TypeVariable;
7 import java.util.ArrayList;
8 import java.util.Arrays;
10 public class Reflection {
12 class GenericShort<TUVW,ABCD> {
15 class Generic<TUVW,ABCD,KLM,NOP> {
20 private String sampleField;
22 public Generic<Integer,String,Double,Short> setSampleField(List<String> listString, Map<Integer,String> mapString,
23 Generic<Integer,String,Double,Short> test,
24 String sampleField, int one, short two, double three, Object obj) {
25 this.sampleField = sampleField;
30 public String getSampleField() {
34 public void setSampleField(String sampleField) {
35 this.sampleField = sampleField;
38 public List<String> setSampleField(List<String> listString) {
43 public static void main(String[] args) {
45 Method[] methods = SampleClass.class.getMethods();
46 /*Type[] parameters = methods[0].getGenericParameterTypes();
47 //Type[] parameters = methods[0].getGenericParameterTypes();
48 for (int i = 0; i < parameters.length; i++) {
49 System.out.println(parameters[i]);
51 System.out.println();*/
52 /*Class[] parameterTypes = methods[0].getParameterTypes();
53 for(Class parameterType: parameterTypes){
54 System.out.println(parameterType.getName());
57 System.out.println();*/
58 /*TypeVariable[] typeParameters = GenericShort.class.getTypeParameters();
59 //TypeVariable[] typeParameters = SampleClass.class.getTypeParameters();
60 for(TypeVariable typeVar: typeParameters){
61 System.out.println(typeVar);
66 Type returnType = methods[0].getGenericReturnType();
67 System.out.println(returnType);